我想在数据框中添加一个新列,其中包含来自其他数据框的值。我的新列名是一个变量,不能硬编码。

new_column = "my_new_column_name"
df = df.assign(new_column=other_df['Column1'].values)

问题是,我得到了一个名为new_column的新列。
我想要的是一个名为my_new_column_name
有人能为这个提出一个解决办法吗?

最佳答案

您可以制作一个dict并解压缩:
给定df

print(df)
   col1  col2
0     1    10
1     2    20
2     3    30

new_column = "my_new_column_name"
df = df.assign(**{new_column: df['col1'].values})
print(df)

输出:
   col1  col2  my_new_column_name
0     1    10                   1
1     2    20                   2
2     3    30                   3

09-06 12:48
查看更多