[英]pandas - number of unique rows occurrences in dataframe
如何計算DataFrame
中每個唯一行的出現次數?
data = {'x1': ['A','B','A','A','B','A','A','A'], 'x2': [1,3,2,2,3,1,2,3]}
df = pd.DataFrame(data)
df
x1 x2
0 A 1
1 B 3
2 A 2
3 A 2
4 B 3
5 A 1
6 A 2
7 A 3
我想獲得
x1 x2 count
0 A 1 2
1 A 2 3
2 A 3 1
3 B 3 2
IIUC你可以將param as_index=False
作為arg傳遞給groupby
:
In [100]:
df.groupby(['x1','x2'], as_index=False).count()
Out[100]:
x1 x2 count
0 A 1 2
1 A 2 3
2 A 3 1
3 B 3 2
您還可以刪除重復的行:
In [4]: df.shape[0]
Out[4]: 8
In [5]: df.drop_duplicates().shape[0]
Out[5]: 4
有兩種方法可以在數據框中找到獨特的出現。
第一:使用 drop_duplicates
df.drop_duplicates().sort_values('x1',ignore_index=True)
第二:使用 groupby.nunique
df.groupby(['x1','x2'], as_index=False).nunique()
為了查找出現次數,@EdChum 的答案將准確無誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.