我想在标有列数据框的数字中的两列之间的数据框中添加一列。在以下数据框中,第一列对应于索引,而第一列对应于列的名称。
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]
列在4
和5
列之间,所以
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
答案 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