熊猫df.assign()不适用于变量名

eir*_*era 5 python pandas

我想在数据框中添加来自其他数据框中的值的新列。我的新列名是一个变量,我无法对其进行硬编码。

new_column = "my_new_column_name" 
df = df.assign(new_column=other_df['Column1'].values)
Run Code Online (Sandbox Code Playgroud)

问题在于,我正在获得一个名为的新列new_column。我期望的是一个名为my_new_column_name

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

Chr*_*ris 6

您可以做出命令并解压:

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

输出:

   col1  col2  my_new_column_name
0     1    10                   1
1     2    20                   2
2     3    30                   3
Run Code Online (Sandbox Code Playgroud)