我正在合并两个数据框,这工作正常,但新列放在末尾。我希望它是第3列或索引2。到目前为止,我有这个有效的方法,但我想知道是否有更好的方法。overlap = overlap.merge(df_comp, how='left')cols = overlap.columns.tolist()cols.insert(2, cols.pop(cols.index('cr')))overlap = overlap.reindex(columns= cols)进一步解释列的名称和列数,如果最终数据帧将每天更改,则解决方案需要是动态的。有没有一种干净的一两条线来做到这一点?
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
一个快速的技巧是将前2列和最后添加的列设置为索引,然后重置索引,这将将它们作为前3列:
import numpy as np overlap.set_index(overlap.columns[np.r_[0:2,-1]].to_list()).reset_index()
np.r_[0:2, -1]
基本上采用列 0、1 和 -1(附加的最后一列)的列名。
添加回答
举报
0/150
提交
取消