【问题标题】:How to sort column values in a pivot dataframe如何对透视数据框中的列值进行排序
【发布时间】:2021-08-14 09:52:55
【问题描述】:

我已经使用这些代码行从数据框创建了一个数据透视表:

df_multi_level = pd.pivot_table(df_raw_final, values=['weight'], index=['mb_assetclass', 'mb_categoriastrumento', 'asset_Name'], aggfunc=np.sum)

df_multi_level = df_multi_level.sort_values(by='mb_assetclass', ascending=False)

我有这个数据透视表:

我想将“权重”列的值从大到小排序,同时保留“mb_assetclass”和“mb_categoriastrumento”的分组(从小到大)

【问题讨论】:

    标签: python pandas dataframe pivot-table


    【解决方案1】:

    您可以尝试通过.reset_index() 重置索引,以在排序前恢复之前在pivot_table() 期间设置为索引的列。

    然后对多列进行排序,并分别设置参数ascending=与所需的True/False值,如下:

    df_multi_level = df_multi_level.reset_index()
    
    df_multi_level = df_multi_level.sort_values(['mb_assetclass', 'mb_categoriastrumento', 'weight'], ascending=[True, True, False])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 2017-03-27
      • 1970-01-01
      • 2023-04-06
      • 2016-09-05
      • 2021-11-11
      • 2020-06-14
      相关资源
      最近更新 更多