我有一个数据框,我想找到每个值的出现次数。当我使用此命令时
test = df['name'].value_counts()
我得到了正确的结果,但是当我尝试这个时
df['occ'] = df['name'].value_counts()
我在'occ'栏上只获得了NaN。
我的数据框有3列,前两列包含不相关的值,第三列包含我想要计算的值。数据框没有任何空单元格。
有什么建议吗?
答案 0 :(得分:3)
您需要使用join operation:
>>> df
name
0 A
1 B
2 C
3 A
4 C
5 A
>>> ts = df['name'].value_counts()
>>> ts.name = 'occ'
>>> df.join(ts, on='name')
name occ
0 A 3
1 B 1
2 C 2
3 A 3
4 C 2
5 A 3
然后你会看到每个名字出现在它前面。