>>> df =DataFrame({'a':[1,2,3,4],'b':[2,4,6,8]})
>>> df['x']=df.a + df.b
>>> df['y']=df.a - df.b
>>> df
a b x y
0 1 2 3 -1
1 2 4 6 -2
2 3 6 9 -3
3 4 8 12 -4
现在我想重新排列列的顺序,通过将'x','y'列作为第一和第二列:
>>> df = df[['x','y','a','b']]
>>> df
x y a b
0 3 -1 1 2
1 6 -2 2 4
2 9 -3 3 6
3 12 -4 4 8
但是如果我有很多列 'a','b','c','d'......,而且我不想显式地列出这些列。我该怎么办?
或者Pandas是否提供像set_column_sequence(dataframe,col_name,seq)
这样的函数,以便我可以执行:set_column_sequence(df,'x',0)
和set_column_sequence(df,'y',1)
?
cols
获取的list
。然后执行df=df[cols]
,也就是重新排列的列表被插入到第一个表达式中而不仅仅是一对括号。 - Sid