【发布时间】:2022-01-02 14:40:54
【问题描述】:
我有以下分组数据框:
Value1 Value2
Category
------------------------------------
0 0 62 44
1 55 46
2 73 75
1 0 61 49
1 55 46
2 34 35
2 0 62 48
1 55 46
2 44 25
我想为每个组将“Value1”列重新排序为升序,同时保持“Category”列的顺序。目标是“类别”0 将对应于最低的“Value1”值,“类别”5 将对应于最高的“Value1”值。 “Value2”值将对应于它们对应的原始“Value1”值。这是我要生成的输出数据框:
Value1 Value2
Category
------------------------------------
0 0 55 46
1 62 44
2 73 75
1 0 34 35
1 55 46
2 61 49
2 0 44 25
1 55 46
2 62 48
如何在 python 中完成此操作?我尝试过使用.reset_index() 和`.sort_values(),但我只是没有得到我想要的分组数据框。我试过了:
df.sort_values(['Value1'],ascending=True).groupby('Category')
但这只会产生:<pandas.core.groupby.generic.DataFrameGroupBy object at ...>,这没什么用。
【问题讨论】:
标签: python pandas dataframe sorting