更改一堆熊猫数据框的列顺序

时间:2021-04-01 17:46:03

标签: python pandas

我想对一堆数据帧的列进行排序以首先获得特定的列,因此

for rr in [df1,df2,df3]:
    cols = ["Time"]+[col for col in rr if (col != "Time")]
    rr = rr[cols]

但这显然失败了,因为 rr 是每个 df 的副本,因此列顺序在 rr 上发生更改,但它不会更改 {{1} 的列的顺序}、df1

棘手...

1 个答案:

答案 0 :(得分:1)

[编辑]

按照@Jon Clements 聪明的评论,你甚至可以这样做:

for df in [df1,df2,df3]:
    df.insert(0, 'Time', df.pop('Time'))

[初始答案]

你可以这样做:

for df in [df1,df2,df3]:
    save = df['Time']
    df = df.drop(columns='Time')
    df.insert(0, 'Time', save)