import numpy as np
import pandas as pd
df = pd.DataFrame(data={'result':[-6.77,6.11,5.67,-7.679,-0.0930,4.342]}\
,index=['A','B','C','D','E','F'])
new_order = np.array([1,2,2,0,1,0])
new_order
NumPy массив присваивает каждую строку к одной из трех групп [0,1 или 2]. Я хотел бы изменить строки df
так, чтобы сначала отображались строки в группе 0, а затем 1 и, наконец, 2. В каждой из трех групп начальное упорядочение должно оставаться неизменным.Перестановка строка панд dataframe на основе списка и поддержания порядка
В начале ФР организован следующим образом:
result
A -6.770
B 6.110
C 5.670
D -7.679
E -0.093
F 4.342
Здесь желаемый результат с учетом выше входной данные.
result
D -7.679
F 4.342
A -6.770
E -0.093
B 6.110
C 5.670
Не понимаю внутренние детали этого, но испытано и это работает! – Divakar
@ Divakar надеюсь, что помогает – piRSquared
Итак, что 'sort_index (level = 1)' part сортируется таким образом, который сохраняет порядок? – Divakar