簡體   English   中英

計算整個DataFrame中值的數量

[英]Count number of values in an entire DataFrame

我目前有50列和大約50000行的DataFrame。 我試圖找到一個值(例如2)出現在整個DataFrame中的總次數。

DataFrame僅包含0到7之間的值。我可以使用以下命令為單個列執行代碼:

print(df['col1'].value_counts())

然后,我嘗試創建一個for循環,如下所示:

for cols in df:
    print(df[cols].value_counts())

此方法有效,但是將其打印為每一列的單獨結果。

我沒有使結果按列划分,而是嘗試獲得類似於以下所示的內容,但對於DataFrame中的所有列進行合並,而不僅僅是1列。

val    no.
7.0    165
3.0    127
5.0     118
6.0     112
2.0      98
4.0      88
1.0      64
0.0      21
Name: col1, dtype: int64

任何幫助將不勝感激!

取一個特定值:

(df.values == 2).sum()

或全部:

np.unique(df.values, return_counts=True)

您可能需要先檢查第一個stack然后檢查value_counts ,現在您可以從索引中選擇所需的內容

df.stack().value_counts()

您也可以嘗試使用Counter

from collections import Counter

print(pd.DataFrame(Counter(df.values.flatten()), index=['Count']).T)

暫無
暫無

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

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