相当于pandas.DataFrame的pandas.Series.value_counts

时间:2019-07-11 22:10:11

标签: python pandas

我想计算一下元数据在一个熊猫DataFrame中出现多少次。例如,假设我的数据如下:

    a  b
0   0  0
1   0  0
2   1  0
3   1  1
4   1  1

我希望获得“每行出现的次数”这样的输出:

(0,0)    2
(1,0)    1
(1,1)    2
dtype: int64

但是,我所知道的最接近的方法是做一些算术运算,将两列合并为一个序列,然后对该序列调用value_counts

>>> (df['a'] * 10 + df['b']).value_counts()
 0     2
10     1
11     2
dtype: int64

我不想手动合并这些列以获得这些计数。但是DataFrame似乎没有value_counts方法:

>>> df.value_counts()
AttributeError: 'DataFrame' object has no attribute 'value_counts'

是否有一种简单的方法可以从数据框中获取行数信息?

1 个答案:

答案 0 :(得分:0)

您可以通过.apply(tuple, 1)将这些列合并为一个元组列,然后对其进行计数:

>>> df.apply(tuple, 1).value_counts()

(0, 0)    2
(1, 0)    1
(1, 1)    2
dtype: int64