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

Pandas如何在DataFrame指定单元格插入数值0?

问题描述

我有一个时间序列类型的DataFrame,数据如下:

01/05/2023      25.1  25.9  25.1  
01/05/2023   1  25.1  25.2  25.0 
01/05/2023   2  24.7  25.1  24.7  
01/05/2023   3  24.7  24.8  NaN  

需要将位于[0,1](即数字1上方的单元格)的位置设置为0,求最优实现方式。


最优实现方案

直接使用 pandas 的**整数位置索引.iloc**是最直接高效的方案,它专门用于基于行/列整数位置的精准定位,操作成本低且逻辑清晰。

代码实现

假设你的 DataFrame 变量名为df,执行以下代码即可完成赋值:

df.iloc[0, 1] = 0

关键说明

  • .iloc[row_idx, col_idx]中的参数是整数,分别对应目标单元格的行位置(从0开始计数)和列位置(从0开始计数),完全匹配你需求中的[0,1]定位。
  • 如果你的日期列是 DataFrame 的索引,.iloc[0]依然能正确定位到第一行数据,不受索引类型影响。
  • 相比基于标签的.loc,当你明确知道目标位置的整数索引时,.iloc的性能更优,且不需要考虑列名或索引标签的变化。

执行后结果

修改后的 DataFrame 会变成:

01/05/2023   0  25.1  25.9  25.1  
01/05/2023   1  25.1  25.2  25.0 
01/05/2023   2  24.7  25.1  24.7  
01/05/2023   3  24.7  24.8  NaN  

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 20:33:23