首页 > 解决方案 > 对 Pandas DF 单列排序未排序

问题描述

我开始的 df (ao_dlyav) 看起来像这样:

print(ao_dlyav)
 Month  Day
2      1     -0.423085
10    -0.285268
11    -0.311803
12    -0.401521
13    -0.587606
14    -0.666183
15    -0.541296
16    -0.375310
17    -0.348704
18    -0.304028
19    -0.187099
2     -0.304127
... ...
6     -0.606225
7     -0.448099
8     -0.290676
9     -0.254901

我重置了索引,如下所示:

     Month Day     Index
0       2   1 -0.423085
1       2  10 -0.285268
2       2  11 -0.311803
3       2  12 -0.401521
4       2  13 -0.587606
5       2  14 -0.666183
6       2  15 -0.541296
7       2  16 -0.375310
8       2  17 -0.348704
9       2  18 -0.304028
10      2  19 -0.187099
11      2   2 -0.304127
12      2  20 -0.111563
13      2  21 -0.078732
14      2  22 -0.083873
15      2  23 -0.140437
16      2  24 -0.185606
17      2  25 -0.213042
18      2  26 -0.235634
19      2  27 -0.217211
20      2  28 -0.122296
21      2  29 -0.101111
22      2   3 -0.323254
23      2   4 -0.447901
24      2   5 -0.582465
25      2   6 -0.606225
26      2   7 -0.448099
27      2   8 -0.290676
28      2   9 -0.254901

这是我正在使用的代码,它给了我上面显示的结果,没有按“天”列排序,并且都给出了上面相同的结果。

ao_dlyav = ao_dlyav.sort_values(by = ['Day'],ascending=True)
ao_dlyav = ao_dlyav.sort_values('Day',ascending=True)

谢谢你,我还在学习 Python。

标签: pandassortingcol

解决方案


您的Day专栏似乎是 astr而不是int. 您可以通过这样做来验证这一点

ao_dlyav.Day.dtype

所以你应该先把它转换成数字:

ao_dlyav['Day'] = ao_dlyav['Day'].astype(int)
ao_dlyav.sort_values('Day', inplace = True)

推荐阅读