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

如何在遍历DataFrame列表时保留enumerate写法修改指定列值

用enumerate循环修改DataFrame列表的正确写法

直接用enumerate遍历列表,同时拿到索引和对应的DataFrame,修改后同步到列表里就行,代码如下:

for i, df in enumerate(dataframes_list):
    # 定位species为specC的行,修改perc_ID为100
    df.loc[df['species'] == 'specC', 'perc_ID'] = 100
    # 可选:如果担心引用传递的问题,把修改后的DataFrame重新赋值回列表
    dataframes_list[i] = df

常见错误排查

如果之前写的时候报语法错,大概率是这几个问题:

  • 列名没加引号:虽然df.species写法可行,但统一用df['species']更稳妥,避免列名含特殊字符时出错
  • 赋值逻辑错误:比如写成dataframes_list[i] = df.loc[df.species == "specC","perc_ID"]=100,这属于语法错误,要直接修改DataFrame对象而非错误嵌套赋值
  • 缩进错误:修改代码没放在循环块内,导致只执行一次修改操作

这种写法和你之前处理specA替换、分组求和的enumerate循环逻辑完全一致,修改后的DataFrame列表可以正常用于后续合并操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:39:59