假设我有一个Pandas Dataframe:
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任何帮助都将不胜感激!
发布于 2020-05-07 06:18:59
像这样的东西会起作用的:
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 7https://stackoverflow.com/questions/61645950
复制相似问题