熊猫:对两列一起排序[重复]

Posted

技术标签:

【中文标题】熊猫:对两列一起排序[重复]【英文标题】:Pandas: Sort Two Columns Together in a Pair [duplicate] 【发布时间】:2019-07-27 18:18:15 【问题描述】:

我正在尝试对两个 pandas 数据框列进行排序。我了解 Python 有自己的内置函数:

.sort()

但我想知道 Pandas 是否也有这个功能,是否可以将两列放在一起,作为一对。

比如说我有以下数据集:

   sum         feature        
0  5.1269        3
1  2.8481        2     
2  -1.472        1  
3  -3.212        0

我想得到这个:

   sum         feature        
0  -3.212        0
1  -1.472        1     
2  2.8481        2  
3  5.1269        3

基本上我在这里做的是对列“特征”进行排序以使其从最小值到最大值,但是我希望“总和”中的相应值也发生变化。

有人可以帮我解决这个问题吗?我在 *** 上看到过其他关于此的帖子,但是我没有找到解释该过程的详细答案,也没有找到这个特定问题的答案。

【问题讨论】:

【参考方案1】:

只需使用:

df.sort_values('feature')

重置索引:

df=df.sort_values('feature').reset_index(drop=True)
print(df)

      sum  feature
0 -3.2120        0
1 -1.4720        1
2  2.8481        2
3  5.1269        3

【讨论】:

这是否也对'sum'中的值进行排序? @Saurish 是的 @Saurish 如果您的功能是独一无二的,这是最好的解决方案。虽然如果你有不同总和的重复特征值,那么你可以使用:df.sort_values(['feature', 'sum']),按此顺序 我同意@MohitMotwani :) 谢谢大家;正如@jezrael 已经指出的那样,这个问题是重复的;我想我在通过 *** 搜索时很糟糕。这些信息帮助了我很多。谢谢:)

以上是关于熊猫:对两列一起排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

CreateCriteria 对两列组合进行排序

选择对两列求和并希望将结果用作选择条件的查询 [重复]

如何在python中对两列进行透视和排序?

SQL Server:如何对两列/条件进行重复数据删除?

如何按id python按一列顺序对两列进行分组[重复]

在 Postgresql 中,对两列的组合强制唯一