簡體   English   中英

pandas - 數據框中出現的唯一行數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM