如何基于多列对数据框进行排序并删除不排序的行

问题描述 投票:0回答:1

例如,如果我有一个看起来像这样的数据框 |一个 |乙| | - | - | | 1 | 8 | | 4 | 9 | | 2 | 5 | | 6 | 2 |

有没有更简单的方法对 Col-A 升序、B 降序排列的两行进行排序,并且删除 B 不能降序排列的任何行?应删除第二行,因为 9 大于 5。

我期待一张看起来像这样的桌子 |一个 |乙| | - | - | | 1 | 8 | | 2 | 5 | | 6 | 2 |

python pandas dataframe sorting
1个回答
0
投票

用途:

out = df.sort_values(['A','B'], ascending=[True, False])

out = out[~out['B'].diff().gt(0)]
print (out)
   A  B
0  1  8
2  2  5
3  6  2
© www.soinside.com 2019 - 2024. All rights reserved.