如何基于DataFrame的前两行索引对列进行升序排序?
按DataFrame前两行的值对列进行升序排序
针对你的需求,只需提取前两行的数据作为排序依据,重新排列原DataFrame的列即可,以下是两种常用实现方式:
按Ind-1优先、Ind-2次之的升序规则排序列:
# 提取前两行转置后,按指定行排序并获取列名顺序 sorted_columns = df.loc[['Ind-1', 'Ind-2']].T.sort_values(by=['Ind-1', 'Ind-2'], ascending=True).index # 重新排列原DataFrame的列 df_sorted = df[sorted_columns]按前两行的求和值升序排序列:
# 计算每列前两行的和,按和升序获取列名顺序 sorted_columns = df.loc[['Ind-1', 'Ind-2']].sum(axis=0).sort_values(ascending=True).index # 重新排列列 df_sorted = df[sorted_columns]
两种方式都不会改变行的顺序,仅调整列的排列,其余行的数据会自动跟随列的新顺序对应匹配。
内容的提问来源于stack exchange,提问作者Yash
相关产品推荐
相关产品推荐

