簡體   English   中英

如何計算熊貓中每個唯一值的出現次數

[英]how to count occurrence of each unique value in pandas

我有大熊貓數據框,我想計算其中每個唯一值的出現次數,我嘗試遵循但需要花費大量時間和內存使用量。 我怎樣才能以pythonic的方式做到這一點?

pack=[]
for index,row in packets.iterrows ():
    pack.extend(pd.Series(row).dropna().values.tolist())

unique, count= np.unique(pack, return_counts=True)
counts= np.asarray((unique, count))

似乎您想計算所有列的值計數。 您可以將其展平為一個系列,刪除 NaN,然后​​調用value_counts 這是一個示例 -

df

     a    b
0  1.0  NaN
1  1.0  NaN
2  3.0  3.0
3  NaN  4.0
4  5.0  NaN
5  NaN  4.0
6  NaN  5.0
pd.Series(df.values.ravel()).dropna().value_counts()

5.0    2
4.0    2
3.0    2
1.0    2
dtype: int64

另一種方法是使用np.unique -

u, c = np.unique(pd.Series(df.values.ravel()).dropna().values, return_counts=True)
pd.Series(c, index=u)

1.0    2
3.0    2
4.0    2
5.0    2
dtype: int64

請注意,第一種方法按計數降序對結果進行排序,而后者則不然。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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