Python 将列附加到DataFrame而不改变原始列

Python 将列附加到DataFrame而不改变原始列,python,pandas,dataframe,Python,Pandas,Dataframe,当我们需要向数据帧添加列时,我们通常会写: df['newcol'] = 123 这会更改(变异)原始df对象,这并不总是需要的 什么是一种快速且惯用的方法?这里有一个选项,但它比上面的作业慢大约10步 df2 = concat([df, DataFrame(123, index=df.index, columns=['newcol'])], axis=1) 那么: 您可以通过以下方式完成: 谢谢我之所以选择这个,是因为没有其他答案,但我希望有更好的方法。它是否会像.copy()那样将df数

当我们需要向数据帧添加列时,我们通常会写:

df['newcol'] = 123
这会更改(变异)原始df对象,这并不总是需要的

什么是一种快速且惯用的方法?这里有一个选项,但它比上面的作业慢大约10步

df2 = concat([df, DataFrame(123, index=df.index, columns=['newcol'])], axis=1)
那么:

您可以通过以下方式完成:


谢谢我之所以选择这个,是因为没有其他答案,但我希望有更好的方法。它是否会像
.copy()
那样将
df
数据复制到内存中?或者像过滤器一样创建原始视图?
df2 = df.copy()
df2['newcol'] = 123
df2 = df.assign(newcol=123)