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

为何无法将DataFrame中Pandas Series的值复制到另一DataFrame对应Series?

问题原因及解决方法

为什么赋值没生效?

你用的是链式索引(连续两次方括号操作):rawdata[rawdata.index == i]['qc'] = values。这里rawdata[rawdata.index == i]会返回原DataFrame的一个临时副本,后续对这个副本的qc列赋值,只会修改这个临时对象,原rawdata不会有任何变化——因为副本和原数据是完全独立的,修改副本不会影响原数据。

正确的赋值方式

pandas推荐用loc直接定位原数据的行和列,确保赋值直接作用在原DataFrame上:

方法1:针对单个唯一索引值

rawdata.loc[i, 'qc'] = values

方法2:针对可能重复的索引(多个相同时间戳)

如果你的索引存在重复值,先做布尔掩码再用loc赋值:

mask = rawdata.index == i
rawdata.loc[mask, 'qc'] = values

额外优化:简化values的获取

你原来获取值的代码可以简化:

# 原写法
values = list(df1.loc[i]['qc'].values)
# 简化后
values = df1.loc[i, 'qc'].tolist()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:42:13