首页 > 解决方案 > 在间隔列上对 DataFrame 进行排序

问题描述

我的输出如下所示:

     binnedb   Proba-A   Proba-B Esperance-A Esperance-B
0    (0.0101, 0.0202]  0.547826  0.539130    0.007817    0.007693
1    (0.0302, 0.0402]  0.547826  0.539130    0.005963    0.005854
2    (0.0201, 0.0302]  0.547826  0.539130    0.008360    0.008227

我想做的是根据 binnedb 列按升序对 df 进行排序(这也将按升序排序)。如果您不明白这个问题,请告诉我。这就是我到目前为止所尝试的:df.sort_values(by=['binnedb'], ascending = False)

但它不起作用......谢谢!

标签: pythonpandassortingdataframecategories

解决方案


由于它是inverval列类型,您可以使用它left来获取左侧范围并根据它进行排序。

df['sortkey']=df.binnedb.map(lambda x : x.left)
df=df.sort_values('sortkey')

推荐阅读