У меня есть файл Dataframe, в котором я хочу изменить порядок столбцов только в третьей строке, оставив при этом другие строки такими же.
При некоторых условиях мне нужно переключать заказы для моего проекта, ноВот пример, который, вероятно, не имеет реального значения.
Предположим, набор данных
df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
'B': [5, 6, 7, 8, 9],
'C': ['a', 'b', 'c', 'd', 'e']})
df
out [1]:
A B C
0 0 5 a
1 1 6 b
2 2 7 c
3 3 8 d
4 4 9 e
Я хочу получить вывод:
A B C
0 0 5 a
1 1 6 b
2 **7 2** c
3 3 8 d
4 4 9 e
Как мне это сделать?
Я пытался:
new_order = [1, 0, 2] # specify new order of the third row
i = 2 # specify row number
df.iloc[i] = df[df.columns[new_order]].loc[i] # reorder the third row only and assign new values to df
Я заметил на выходе правой части, что столбцыпереупорядочив, как я хотел:
df[df.columns[new_order]].loc[i]
Out[2]:
B 7
A 2
C c
Name: 2, dtype: object
Но когда снова был назначен df, он ничего не сделал.Я думаю, это из-за совпадения имен.
Может кто-нибудь мне помочь?Заранее спасибо!