我想计算一下元数据在一个熊猫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'
是否有一种简单的方法可以从数据框中获取行数信息?
答案 0 :(得分:0)
您可以通过.apply(tuple, 1)
将这些列合并为一个元组列,然后对其进行计数:
>>> df.apply(tuple, 1).value_counts()
(0, 0) 2
(1, 0) 1
(1, 1) 2
dtype: int64