Python:如何在两列之间的pandas数据帧中添加列?

时间:2016-04-05 22:01:26

标签: python pandas dataframe

我想在标有列数据框的数字中的两列之间的数据框中添加一列。在以下数据框中,第一列对应于索引,而第一列对应于列的名称。

df
   0 0 1 2 3 4 5
   1 6 7 4 5 2 1
   2 0 3 1 3 3 4
   3 9 8 4 3 6 2 

我希望tmp=[2,3,5]列在45列之间,所以

df
   0 0 1 2 3 4 5 6 
   1 6 7 4 5 2 2 1
   2 0 3 1 3 3 3 4
   3 9 8 4 3 6 5 2 

2 个答案:

答案 0 :(得分:6)

您还可以使用insert

df.insert(4, "new_col_name", tmp)

然后更改列名称,如@Alexander explained

注意df.insert()没有 inplace 参数

因此将进行现场操作并返回无

即。 df = df.insert(4, "new_col_name", tmp) 赢了

答案 1 :(得分:1)

首先将您的列连接到您的数据框。

df2 = pd.concat([df, pd.DataFrame(tmp)], axis=1)

然后将列重命名为所需的最终结果。

df2.columns = [0, 1, 2, 3, 4, 6, 5]

现在对重命名的列进行排序。

df2.sort_index(axis=1, inplace=True)

>>> df2
   0  1  2  3  4  5  6
0  6  7  4  5  2  2  1
1  0  3  1  3  3  3  4
2  9  8  4  3  6  5  2