Я хочу сортировать подмножество фрейма данных (скажем, между индексами я и j) в соответствии с некоторым значением. Я старался
df2=df.iloc[i:j].sort_values(by=...)
df.iloc[i:j]=df2
Нет проблем с первой строкой, но ничего не происходит, когда я запускаю второй (даже не ошибка). Как мне это сделать? (Я также попробовал функцию обновления, но не сделал этого).
Мне кажется, нужно назначить фильтруемому DataFrame
с преобразованием в массив numpy values
чтобы избежать выравнивания индексов:
df = pd.DataFrame({'A': [1,2,3,4,3,2,1,4,1,2]})
print (df)
A
0 1
1 2
2 3
3 4
4 3
5 2
6 1
7 4
8 1
9 2
i = 2
j = 7
df.iloc[i:j] = df.iloc[i:j].sort_values(by='A').values
print (df)
A
0 1
1 2
2 1
3 2
4 3
5 3
6 4
7 4
8 1
9 2
.values
для преобразования вnumpy array