相关疑难解决方法(0)

是否可以按降序使用argsort

请考虑以下代码:

avgDists = np.array([1, 8, 6, 9, 4])
ids = avgDists.argsort()[:n]
Run Code Online (Sandbox Code Playgroud)

这给了我n最小元素的索引.是否可以argsort按降序使用它来获得n最高元素的索引?

python numpy

155
推荐指数
5
解决办法
14万
查看次数

按绝对值排序而不更改数据

我正在寻找一种简单的方法来按特定列的绝对值对pandas数据帧进行排序,但不会实际更改数据帧中的值.类似的东西sorted(df, key=abs).所以,如果我有一个数据帧,如:

    a   b
0   1   -3
1   2   5 
2   3   -1
3   4   2
4   5   -9
Run Code Online (Sandbox Code Playgroud)

在"b"上排序时得到的排序数据如下所示:

    a   b
2   3   -1
3   4   2
0   1   -3
1   2   5 
4   5   -9
Run Code Online (Sandbox Code Playgroud)

python sorting dataframe pandas

24
推荐指数
3
解决办法
2万
查看次数

使用列值的函数对pandas DataFrame进行排序

基于python,使用pandas对降序数据进行排序:

鉴于:

from pandas import DataFrame
import pandas as pd

d = {'one':[2,3,1,4,5],
     'two':[5,4,3,2,1],
     'letter':['a','a','b','b','c']}

df = DataFrame(d)
Run Code Online (Sandbox Code Playgroud)

df然后看起来像这样:

df:
      letter  one  two
    0      a    2    5
    1      a    3    4
    2      b    1    3
    3      b    4    2
    4      c    5    1
Run Code Online (Sandbox Code Playgroud)

我希望有类似的东西:

f = lambda x,y: x**2 + y**2
test = df.sort(f('one', 'two'))
Run Code Online (Sandbox Code Playgroud)

这应该按照"一"和"二"列的平方值之和对整个数据帧进行排序,并给我:

test:
      letter  one  two
    2      b    1    3
    3      b    4    2
    1      a    3    4
    4      c    5    1
    0      a …
Run Code Online (Sandbox Code Playgroud)

python sorting dataframe pandas

14
推荐指数
2
解决办法
7593
查看次数

标签 统计

python ×3

dataframe ×2

pandas ×2

sorting ×2

numpy ×1