You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame列赋值后修改变量致原表自动更新问题求助

解决Pandas列赋值后修改变量影响原DataFrame的问题

为啥会这样?

直接把DataFrame的一列赋值给aae时,aae = df['Absorption_Angstrom_Exponent_440-870nm'] 其实只是创建了原数据的引用(视图),不是完全独立的副本。所以你改aae的时候,本质上是在修改原DataFrame里的对应数据。

怎么解决?

赋值的时候加上.copy()方法,生成一个独立的副本就行了:

aae = df['Absorption_Angstrom_Exponent_440-870nm'].copy()

这样不管你怎么修改aae,原DataFramedf里的列都不会受影响。

怎么确认生效了?

可以对比两者的内存地址,验证是否完全独立:

# 不加copy的情况,两者指向同一块内存
aae = df['Absorption_Angstrom_Exponent_440-870nm']
print(df['Absorption_Angstrom_Exponent_440-870nm'].values.base is aae.values.base)  # 输出True

# 加copy后,内存地址不同,完全独立
aae = df['Absorption_Angstrom_Exponent_440-870nm'].copy()
print(df['Absorption_Angstrom_Exponent_440-870nm'].values.base is aae.values.base)  # 输出False

内容的提问来源于stack exchange,提问作者Kamran Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:05:33