我使用pandas df.value_counts()来查找特定品牌的出现次数 . 我想将这些 Value 计数与初始数据框中的相应品牌合并 .
df has many columns including one named 'brands'
brands = df.brands.value_counts()
brand1 143
brand2 21
brand3 101
etc.
如何将值计数与原始数据框合并,使每个品牌的相应计数位于新列中,例如“brand_count”?
是否可以为这些列分配 Headers ;名称函数不适用于系列,我无法将其转换为数据帧,可能以这种方式合并数据 . 但是,value_counts输出一系列dtype int64(品牌名称应为type string),这意味着我无法执行以下操作:
df2 = pd.DataFrame({'brands': list(brands_all[0]), "brand_count":
list(brands_all[1])})
(merge with df)
最终,我想得到这个:
col1 col2 col3 brands brand_count ... col150
A 30
C 140
A 30
B 111
4 回答
那是你要的吗:
PS的第一个重要部分就是数据帧生成 .
有趣的部分以
# generate 'brands'
DF评论开头如果您需要将计数加入到不同的数据帧,请记住用零填充
NaN
:你想使用
transform
.以供参考:
Pandas DataFrame的merge和value_counts属性非常快,所以我将两者结合起来 .