我有一个Dataframe文件,在这个文件中,我只想在第三行中切换列的顺序,同时保持其他行相同
在某些情况下,我必须为我的项目切换订单,但这里有一个例子,可能没有真正的意义
假设数据集是
df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
'B': [5, 6, 7, 8, 9],
'C': ['a', 'b', 'c', 'd', 'e']})
df
输出[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时,它什么也没做。我猜是因为名字匹配
有人能帮我吗?提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐