Pandas计算一列中值出现的次数

3

我有一个只有一列且大约有800k行的长数据框。我的数据框看起来像这样:

54
53
53
53
53
...
0
0
0

所需的是计算每个值出现的次数,并将其保存到数据框中,结果应该类似于这样。
54 1
53 1000
52 800
...
0 100000

我尝试使用 df.groupby(0),但它只返回一个对象。如何获得一个两列的数据框(或者一列和一个显示值的行索引)?

3
使用 df['column_name'].value_counts()df['column_name'].value_counts().to_frame() - Space Impact
1个回答

9
使用value_countsto_frame函数:
df = pd.DataFrame([1,2,4,5,5], columns=['values'])
df['values'].value_counts().to_frame().reset_index().rename(columns={'index':'values', 'values':'count'})

 values count
0   5   2
1   4   1
2   2   1
3   1   1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接