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

ema*_*max 5 python dataframe pandas

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

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 
Run Code Online (Sandbox Code Playgroud)

我有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 
Run Code Online (Sandbox Code Playgroud)

ayh*_*han 6

您还可以使用insert:

df.insert(4, "new_col_name", tmp)
Run Code Online (Sandbox Code Playgroud)

然后更改@Alexander解释的列名.

注df.insert()没有就地参数

所以将在现场进行操作并返回None

df = df.insert(4, "new_col_name", tmp) 不起作用

  • @cms72 `insert` 不直接支持该用例,但您可以从列名称获取列索引并传递:`df.insert(df.columns.get_loc('col_name'), 'new_col_name', ser_to_insert)` (5认同)
  • “注意:插入方法会改变原始 DataFrame 并且不会返回副本。” - 这个提醒非常重要,谢谢! (2认同)