我有一个类别和金额的数据框。可以使用冒号分隔的字符串将类别无限嵌套到子类别中。我希望按金额降序排序。但以分层类型的方式如图所示。
我需要如何排序
CATEGORY AMOUNT
Transport 5000
Transport : Car 4900
Transport : Train 100
Household 1100
Household : Utilities 600
Household : Utilities : Water 400
Household : Utilities : Electric 200
Household : Cleaning 100
Household : Cleaning : Bathroom 75
Household : Cleaning : Kitchen 25
Household : Rent 400
Living 250
Living : Other 150
Living : Food 100
EDIT:数据框:
pd.DataFrame({
"category": ["Transport", "Transport : Car", "Transport : Train", "Household", "Household : Utilities", "Household : Utilities : Water", "Household : Utilities : Electric", "Household : Cleaning", "Household : Cleaning : Bathroom", "Household : Cleaning : Kitchen", "Household : Rent", "Living", "Living : Other", "Living : Food"],
"amount": [5000, 4900, 100, 1100, 600, 400, 200, 100, 75, 25, 400, 250, 150, 100]
})
注:这是我想要的顺序。在排序之前它可以是任意顺序。
EDIT2:如果有人正在寻找类似的解决方案,我在这里发布了我确定的解决方案:如何按分层类别结构中的值对 pandas 中的数据框进行排序 https://stackoverflow.com/questions/61404130/how-to-sort-dataframe-in-pandas-by-value-in-hierarchical-category-structure/61404843#61404843