【问题标题】:Multiple sorts on one Pandas Dataframe在一个 Pandas Dataframe 上进行多种排序
【发布时间】:2021-11-25 22:58:53
【问题描述】:

假设我有一个这样的 Pandas 数据框:

Col_A   Col_B   Col_C
  501     A       2
  501     G       19
  501     B       10
  501     Z       32
  502     B        7
  502     J       34
  502     M        8
  502     S       90

我正在寻找一种将多种排序应用于一个数据框的方法。例如,在 Col_A = 501 的情况下,Col_B 和 Col_C 将是升序的。在 Col_A = 502 的情况下,Col_B 和 Col_C 会这样下降:

Col_A   Col_B   Col_C
 501     A       2
 501     B       10
 501     G       19
 501     Z       32
 502     S       90
 502     M       34
 502     J       8
 502     B       7

任何帮助将不胜感激!

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

这样的事情会起作用:

In [2132]: d1 = df[df['Col_A'].eq(501)].sort_values(by=['Col_B', 'Col_C'])

In [2133]: d2 = df[df['Col_A']eq(502)].sort_values(by=['Col_B', 'Col_C'], ascending=False)

In [2137]: df = d1.append(d2)

In [2138]: df
Out[2138]: 
   Col_A Col_B  Col_C
0    501     A      2
2    501     B     10
1    501     G     19
3    501     Z     32
7    502     S     90
6    502     M      8
5    502     J     34
4    502     B      7

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 2022-01-21
    • 2016-12-01
    • 1970-01-01
    • 2021-03-21
    • 2018-07-03
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多