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

解决iloc报错:如何通过行列索引名修改Pandas DataFrame单元格值

解决Pandas通过行列标签修改单元格值的问题

错误原因

你用iloc['b']['y']触发错误,是因为iloc是基于整数位置的索引器,只能接收整数类型的位置参数,不能使用行/列的标签名称(比如'b'、'y')。

正确解决方案

以下是两种可靠的通过行列标签修改单元格值的方法:

  • 方法1:使用loc索引器(推荐)
    loc是Pandas专门用于标签索引的工具,语法为loc[行标签, 列标签],可以直接定位到目标单元格并修改:

    dat1.loc['b', 'y'] = 999
    

    这种方式是官方推荐的写法,能避免链式赋值可能引发的SettingWithCopyWarning,同时逻辑清晰。

  • 方法2:使用at索引器(适合单个单元格快速操作)
    如果只需要修改单个单元格,at索引器性能更优,语法和loc类似:

    dat1.at['b', 'y'] = 999
    

验证修改结果可以执行print(dat1),输出会显示行'b'的列'y'值已改为999:

x    y
a  1    3
b  2  999
c  4   10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:00:17