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