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