Pandas根据列中的最小值到最大值重新排序行

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

我想基于数据帧(最低值到最大值)中的列9值对大动态数据按升序重新排序行。

我的数据框架:

1   2   3   4   5   6   7   8   9  #Column values in this row
a   b   c   d   e   f   g   h   0
a1  b1  c1  d1  dd1 ef  ggg hh  0.5
aaa bbb ccc ddd eee fff ggg dcx -0.5
z   b   c   d   e   f   g   h   55

期望的输出:

1   2   3   4   5   6   7   8   9 #Column values in this row
aaa bbb ccc ddd eee fff ggg dcx -0.5
a   b   c   d   e   f   g   h   0
a1  b1  c1  d1  dd1 ef  ggg hh  0.5
z   b   c   d   e   f   g   h   55

如何重新排序数据框行,使其显示为从最低编号到最高编号的所需输出。

df1.sort_values(['9'], ascending=[True])

没有效果。

python python-3.x pandas numpy dataframe
1个回答
1
投票

你需要参数inplace=True

df1.sort_values('9', inplace=True)
print (df1)
     1    2    3    4    5    6    7    8     9
2  aaa  bbb  ccc  ddd  eee  fff  ggg  dcx  -0.5
0    a    b    c    d    e    f    g    h   0.0
1   a1   b1   c1   d1  dd1   ef  ggg   hh   0.5
3    z    b    c    d    e    f    g    h  55.0

或者作为评论的Dark分配回来:

df1 = df1.sort_values('9')
print (df1)
     1    2    3    4    5    6    7    8     9
2  aaa  bbb  ccc  ddd  eee  fff  ggg  dcx  -0.5
0    a    b    c    d    e    f    g    h   0.0
1   a1   b1   c1   d1  dd1   ef  ggg   hh   0.5
3    z    b    c    d    e    f    g    h  55.0
© www.soinside.com 2019 - 2024. All rights reserved.