我有一個帶有月份列的資料框,我正在嘗試使用以下方法計算其計數:
df[['Month']].value_counts()
此方法回傳:
Month
5.0 1402
9.0 1375
8.0 1273
10.0 1188
7.0 1136
6.0 801
11.0 801
4.0 651
dtype: int64
我想在這個資料幀上使用 .tolist() 方法,但想對其進行排序,但無法弄清楚如何按月對資料幀進行排序,即 1.0、2.0、3.0、4.0 等。
任何幫助將非常感激!
uj5u.com熱心網友回復:
根據熊貓檔案,您可以使用 arg。sort來控制輸出。默認值為True,但如果那樣的False話,它很可能會按索引排序(盡管我似乎在檔案中找不到它)。
import numpy as np
pd.DataFrame(np.random.randint(0, 12, 30), columns=['mycol']).value_counts(sort=False)
您也可以隨時使用sort_index,這可能是一種更安全的方法
import numpy as np
pd.DataFrame(np.random.randint(0, 12, 30), columns=['mycol']).value_counts().sort_index()
uj5u.com熱心網友回復:
添加到亞歷克斯紐曼的答案。
你也可以這樣做
series=pd.DataFrame(np.random.randint(0, 12, 30), columns=['mycol']).value_counts()
這將回傳一個系列 mycol
0 6
6 5
9 4
2 3
8 2
7 2
5 2
4 2
1 2
11 1
10 1
dtype: int64
那么你可以簡單地使用排序 Series.sort_index()
series.sort_index()
mycol
0 6
1 2
2 3
4 2
5 2
6 5
7 2
8 2
9 4
10 1
11 1
此代碼是不言自明的,對于高效且緊湊的代碼形式,您可以使用 Alex Newman 的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/397673.html
