python-3.x 如何对一列中的值进行升序排序,另一列中的值降序排序

juzqafwq  于 2023-05-19  发布在  Python
关注(0)|答案(1)|浏览(216)

我有一个包含两列的数据框架。我试图按降序排序一列('values'),当两个值相同时,按升序排序另一列。目前,我的代码是:

br_df = br_imgfeatures_df.mean().reset_index(name='value').sort_values(by='value', ascending=False)

产生以下输出:

正如你所看到的,'Palm trees'和'Flowers'的值是相同的,但是我试图在'Palm trees'的顶部使用'Flowers'来重新排序它们。

avwztpqn

avwztpqn1#

因为pandas.DataFrame.sort_values接受by参数的列表,所以可以使用下面的代码,用第一个/另一个列的名称替换Column_X

br_df = (
            br_imgfeatures_df.mean()
                .reset_index(name='value')
                .sort_values(by=['value', 'Column_X'],
                             ascending=[False, True])
        )
#输出:
Column_X     value
0   Nighttime  0.031496
1     Flowers  0.023622
2  Palm trees  0.023622
3       Cliff  0.020997
4      Bridge  0.018373

相关问题