Sort Pandas DF Single Column Not Sorting - PullRequest
0 голосов
/ 30 марта 2020

Мое начало 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.

1 Ответ

0 голосов
/ 30 марта 2020

Ваш столбец Day выглядит как str, а не int. Вы можете проверить это, выполнив

ao_dlyav.Day.dtype

, поэтому сначала нужно привести его к цифре c:

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