You need to enable JavaScript to run this app. 如何使用numpy数组替换pandas DataFrame指定行列的子集数据
优惠活动
大模型
产品
解决方案
定价
更多

如何使用numpy数组替换pandas DataFrame指定行列的子集数据

替换pandas DataFrame指定子集的实现方案

推荐实现方式

直接对loc选择器赋值即可,无需先提取子集再修改,赋值操作会直接修改原始DataFrame对应位置的数值:

# 直接将匹配维度的numpy数组赋值给目标子集
df.loc[[1,3,5,7,9], ["A", "B", "C"]] = replace_value

注意事项

  • 不建议使用df_subset.values = replace_value的写法:提前提取的df_subset可能是副本而非原始DataFrame的视图,修改副本的数值不会同步到原始df,还可能触发SettingWithCopyWarning警告。
  • 如需提前存储目标子集的位置,可以单独记录行索引和列名,后续赋值时直接调用:
# 提前记录目标行列
target_rows = [1,3,5,7,9]
target_cols = ["A", "B", "C"]

# 后续执行替换
df.loc[target_rows, target_cols] = replace_value

替换结果验证

执行赋值后,可通过以下代码验证替换是否符合预期:

# 提取替换后的子集和目标数组对比
result = df.loc[[1,3,5,7,9], ["A", "B", "C"]]
print((result.to_numpy() == replace_value).all())
# 输出为True即说明替换成功

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 06:27:02