繁体   English   中英

在不更改原始数据框的情况下将一列添加到数据框的副本中

[英]adding a column to dataframe's copy without changing the original dataframe

我有熊猫数据框。 我调用函数add_column,发送数据帧的副本。 为什么原始数据框被更改(添加了额外的列)?

new_df = add_column(ori_df.copy(),"nameofnewcol", col) 

def add_column(df, name_col, col):
    df[name_col] = pd.Series(np.asarray(col), index= df.index)
    return df

问题是ori_df也有多余的列。 根据文档,深层副本默认设置为true。 有人可以说为什么会这样吗?

它应该工作正常。 如果没有,请尝试分配一个虚拟变量并将该变量传递给函数

df_dummy=ori_df
new_df=add_column(df_dummy,"nameofnewcol",col)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM