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

如何在满足条件时修改Pandas DataFrame某列的第一行数据?

Pandas:当DataFrame首行a列值大于5时修改首行b列值

原始数据

import pandas as pd

df = pd.DataFrame(
    {
       'a': [10, 50, 3],
       'b': [5, 4, 5],
    }
)

需求

当首行的a列值大于5时,将首行的b列值改为1,期望输出:

a    b
0  10    1
1  50    4
2   3    5

你的尝试分析

  • 尝试1:df[df.a > 5].iloc[0] 仅筛选出a列大于5的行并取第一行,没有执行修改操作,无法实现需求。
  • 尝试2:df.loc[df.a.iloc[0] > 5, 'b'] = 1 这里的布尔条件会作用于所有行,导致所有行的b列都被改为1,不符合仅修改首行的要求。

正确解法

方法1:直接通过iloc定位首行

if df.a.iloc[0] > 5:
    df.b.iloc[0] = 1

方法2:使用loc结合行标签(适用于行标签为默认0的情况)

if df.loc[0, 'a'] > 5:
    df.loc[0, 'b'] = 1

执行任意一种方法后,即可得到你想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:54:57