我了解到,當我輸入時df = pd.read_csv("file.csv"),我可以從 csv 檔案中獲取這些資料,如下所示:
round date first second third fourth fifth sixth bonus
0 959 2021.04.17 1 14 15 24 40 41 35
1 958 2021.04.10 2 9 10 16 35 37 1
2 957 2021.04.03 4 15 24 35 36 40 1
3 956 2021.03.27 10 11 20 21 25 41 40
4 955 2021.03.20 4 9 23 26 29 33 8
我還了解到我可以df["column_name"].value_counts()用來計算值寫入的頻率。
例如,df["first"].value_count(),那么它將顯示“第一”列的計數值作為結果。喜歡
1 134
2 107
3 94 ...
但我想一次計算多列中的所有值。
如何一次計算多列中的值?有人可以告訴我使用哪種方法嗎?
uj5u.com熱心網友回復:
如果您想要一個包含所有列中所有當前值的矩陣start,請value_counts按照@jezrael 的建議使用并通過列軸對它們求和:
>>> df.iloc[:, 2:].apply(pd.value_counts).fillna(0).astype(int).sum(axis=1)
1 3
2 1
4 2
8 1
9 2
10 2
11 1
14 1
15 2
16 1
20 1
21 1
23 1
24 2
25 1
26 1
29 1
33 1
35 3
36 1
37 1
40 3
41 2
dtype: int64
uj5u.com熱心網友回復:
您可以選擇沒有前 2 列的所有列,DataFrame.melt與您的解決方案一起使用:
s = df.iloc[:, 2:].melt()['value'].value_counts().sort_index()
print (s)
1 3
2 1
4 2
8 1
9 2
10 2
11 1
14 1
15 2
16 1
20 1
21 1
23 1
24 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/313614.html
標籤:Python 熊猫 数据框 文件 jupyter-笔记本
