如何使用变量名 pandas df.assign() ?

How to pandas df.assign() with variable names?

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

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

问题是,我得到一个名为 new_column 的新列。 我期望的是一个名为 my_new_column_name

的列

任何人都可以为此提出解决方案。

你可以做一个口述并解压:

给定 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