提问者:小点点

熊猫DataFrame列中值的计数频率


我想计算每个值出现在数据框中的次数。

这是我的数据框-df

    status
1     N
2     N
3     C
4     N
5     S
6     N
7     N
8     S
9     N
10    N
11    N
12    S
13    N
14    C
15    N
16    N
17    N
18    N
19    S
20    N

我想字典的计数:

例如。计数={N: 14,C:2,S:4}

我试过df['status']['N'],但它给出了keyErrordf['status']。value_counts但没有用。


共3个答案

匿名用户

您可以使用value_countsto_dict

print df['status'].value_counts()
N    14
S     4
C     2
Name: status, dtype: int64

counts = df['status'].value_counts().to_dict()
print counts
{'S': 4, 'C': 2, 'N': 14}

匿名用户

使用失败者计数器的替代一条衬垫:

In [3]: from collections import Counter

In [4]: dict(Counter(df.status))
Out[4]: {'C': 2, 'N': 14, 'S': 4}

匿名用户

你可以试试这种方式。

df.stack().value_counts().to_dict()