0
我想分組數據框,並在同一時間由某一列的絕對值進行排序。熊貓集團的數據框和按列值排序
groups values foo bar
75 A 3 1 2
77 B -3 31 34
112 A 4 0 4
129 C 50 5 3
134 C -60 44 5
在整個數據幀,我可以使用
df.reindex(df.values.abs().sort_values(ascending=False).index)
這工作完全正常。但是,對於分組的數據幀,這顯然不起作用。
當我嘗試,
df.groupby('groups')['values'].reindex(df.values.abs().sort_values(ascending=False).index)
我得到預期的錯誤:
AttributeError: Cannot access callable attribute 'reindex' of 'SeriesGroupBy' objects, try using the 'apply' method
試圖apply
可能需要作出的絕對值另一列,但我不希望添加這個。有沒有一個乾淨的方式來實現呢?
所需的輸出將是被排序的值的列中的分組的數據幀(對象):
for groups, data in df_grouped:
print group, data
A,
values foo bar
75 3 1 2
112 4 0 4
B,
values foo bar
77 -3 31 34
C,
values foo bar
134 -60 44 5
129 50 5 3
的排序是正確的,但我想有對數據的進一步處理一個分組的數據幀返回。 – Fourier
你可以[發佈](http://stackoverflow.com/posts/38267145/edit)期望的輸出? – MaxU
看到我編輯的問題的預期輸出。謝謝@MaxU – Fourier