Python 使用dataframe统计出现次数?
我有以下Python 使用dataframe统计出现次数?,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据帧: fk name 0 105 Coca-Cola1 1 105 Coca-Cola1 2 106 Coca-Cola2 3 115 Coca-Cola5 4 115 Coca-Cola5 5 115 Coca-Cola5 6 108 Coca-Cola8
数据帧
:
fk name
0 105 Coca-Cola1
1 105 Coca-Cola1
2 106 Coca-Cola2
3 115 Coca-Cola5
4 115 Coca-Cola5
5 115 Coca-Cola5
6 108 Coca-Cola8
7 105 Coca-Cola1
我要计算发生的频率:
[[105, Coca-Cola1, 3],
[106, Coca-Cola2, 1],
[115, Coca-Cola5, 3],
[108, Coca-Cola8, 1]]
你知道如何做到这一点吗?你可以使用聚合,然后最后通过以下方式转换为numpy数组:
如果订单很重要,则将参数sort=False
添加到groupby
:
df = df.groupby(['fk','name'], sort=False).size().reset_index().values.tolist()
print (df)
[[105, 'Coca-Cola1', 3],
[106, 'Coca-Cola2', 1],
[115, 'Coca-Cola5', 3],
[108, 'Coca-Cola8', 1]]
一个很小的改变-sort=False
来保留订单。@NickilMaveli-谢谢。
df = df.groupby(['fk','name'], sort=False).size().reset_index().values.tolist()
print (df)
[[105, 'Coca-Cola1', 3],
[106, 'Coca-Cola2', 1],
[115, 'Coca-Cola5', 3],
[108, 'Coca-Cola8', 1]]