合并数据帧从末尾移动新列

2024-06-10 07:48:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在合并两个数据帧,效果很好,但新列放在末尾。我希望它是第三列或索引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)

如果最终数据帧每天都在变化,则需要进一步解释列的名称和数量,因此解决方案需要是动态的。有没有一个干净的一行或两行的方法


Tags: columns数据方法dfmergeleftpophow
1条回答
网友
1楼 · 发布于 2024-06-10 07:48:43

一种快速的方法是将前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(附加的最后一列)的列名

相关问题 更多 >