4
如何對熊貓羣操作應用排序?下面的命令返回一個錯誤,指出「布爾」對象不是可調用應用排序到一個熊貓羣操作
import pandas as pd
df.groupby('cokey').sort('A')
cokey A B
11168155 18 56
11168155 0 18
11168155 56 96
11168156 96 152
11168156 0 96
如何對熊貓羣操作應用排序?下面的命令返回一個錯誤,指出「布爾」對象不是可調用應用排序到一個熊貓羣操作
import pandas as pd
df.groupby('cokey').sort('A')
cokey A B
11168155 18 56
11168155 0 18
11168155 56 96
11168156 96 152
11168156 0 96
通常,這種排序是在GROUPBY鍵執行,因爲你已經發現了,你不能叫sort
一個GROUPBY對象上,是什麼你可以做的是叫apply
並通過DataFrame.sort
功能並通過列作爲kwarg PARAM:
df.sort('A').groupby('cokey')
0123:
In [58]:
df.groupby('cokey').apply(pd.DataFrame.sort, 'A')
Out[58]:
cokey A B
cokey
11168155 1 11168155 0 18
0 11168155 18 56
2 11168155 56 96
3 11168155 96 152
或者你可以只使用df分組之前排序
更新
爲0.17.0
及以上版本DataFrame.sort
現在已經過時,看到docs,一個現在應該使用DataFrame.sort_values
:
df.groupby('cokey').apply(pd.DataFrame.sort_values, 'A')
的感謝!有沒有辦法reset_index()結果數據框? – user308827
隨後的操作變得混亂,多級索引仍然存在 – user308827
那麼你通過添加這種排序標準來引入另一級索引,你必須在調用'reset_index'後放棄多餘的索引恐怕 – EdChum