怎么让DataFrame按照某一列绝对值从小到按排列?

  统计/机器学习 Python    浏览次数:1973        分享
0

怎么让pandas DataFrame按照某一列的绝对值从小到按排列?

 

何立诚   2018-10-19 12:59



   2个回答 
4

没有直接的函数可以用,只能先建一个辅助列,然后根据辅助列排序,然后再把辅助列删掉

代码如下

In [162]:
df['sort_helper'] = df['b'].abs()
df.sort_values('sort_helper').drop('sort_helper', axis=1)

Out[162]:
   a  b
2  3 -1
3  4  2
0  1 -3
1  2  5
4  5 -9


SofaSofa数据科学社区DS面试题库 DS面经

淡淡的   2018-10-19 14:15

3

比如按照‘a'列的绝对值从小到大排序

df.iloc[df['a'].abs().argsort()]

按照绝对从大到小排序

df.iloc[df['a'].abs().argsort()[::-1]]
SofaSofa数据科学社区DS面试题库 DS面经

简Cheng   2019-07-16 13:30

这个更简洁 - LiShanfei   2019-07-29 00:20


  相关主题

from __future__ import division是什么意思   2回答

python里的continue是什么意思   2回答

DataFrame批量修改列名   1回答

print里的"%.2f"是什么意思?   1回答

python如何判断某路径下是否存在指定的csv文件?   2回答

有一个1000万行的dataframe   3回答

Jupiter notebook中显示一个dataframe所有的列   2回答

python里有没有类似matlab里linspace的功能?   2回答

东方财富的数据怎么爬下来   1回答

gc.collect()返回值是什么意思   1回答

python里的<<或者>>符号是什么意思?   2回答

怎么把一个大的dataframe按行分割成若干个小的dataframe。   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!