对于pandas.DataFrame,我想让这个df中的行按照某一列,比如说col_a中元素的绝对值的大小,从大到小排列,该怎么操作?
1个回答
假如你的pd.DataFrame是df,你想按照col_1中的数值对df重新排列
降序排列(从大到小)
df.reindex(df['col_1'].abs().sort_values(ascending=False).index)
升序排列(从小到大)
df.reindex(df['col_1'].abs().sort_values(ascending=True).index)
例
>>> df
col_1 col_2
0 2 1
1 4 3
2 -3 5
3 -5 7
>>> df.reindex(df['col_1'].abs().sort_values(ascending=False).index)
col_1 col_2
3 -5 7
1 4 3
2 -3 5
0 2 1