我有一個資料框:
df = pd.DataFrame({
'Metric': ['Total Assets', 'Total Promo', 'Total Assets', 'Total Promo'],
'Risk': ['High', 'High','Low', 'Low'],
'2021': [ 200, 100, 400, 50]})
我想Metric按'2021'列分組并按列排序。
我試過:
df = df.sort_values(['2021'],ascending=False).groupby(['Metric', 'Risk'])
但我得到以下輸出:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x00000213CA672B48>
輸出應如下所示:
df = pd.DataFrame({
'Metric': ['Total Assets', 'Total Assets', 'Total Promo', 'Total Promo'],
'Risk': ['Low', 'High', 'High', 'Low'],
'2021': [ 400, 200, 100, 50]})
uj5u.com熱心網友回復:
如果我理解正確,您想按列“公制”(升序)和“2021”(降序)排序:
df = df.sort_values(["Metric", "2021"], ascending=[True, False])
print(df)
印刷:
Metric Risk 2021
0 Total Assets Low 400
1 Total Assets High 200
2 Total Promo High 100
3 Total Promo Low 50
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/333900.html
標籤:排序 pandas-groupby
上一篇:按降序對二維陣列元素進行排序
下一篇:根據另一個陣列對陣列進行排序
