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

如何仅替换DataFrame中Jen的GPA 3.8为3.2?

解决方案

下面是几种仅修改Jen的GPA值为3.2的方法,除了你提到的iloc之外:

  • 基于loc标签索引(最直观常用)
    直接通过姓名筛选行,指定GPA列进行赋值,适合明确知道列名和筛选条件的场景:

    df.loc[df['Name'] == 'Jen', 'GPA'] = 3.2
    
  • 使用at方法(单元素快速赋值)
    如果确定Jen在数据集中只有一行,at方法比loc更高效,专门用于单个标量元素的赋值:

    # 先获取Jen所在行的索引
    jen_index = df[df['Name'] == 'Jen'].index[0]
    df.at[jen_index, 'GPA'] = 3.2
    
  • 利用where条件替换
    通过where方法实现条件赋值,当姓名不是Jen时保留原GPA值,是Jen时替换为3.2:

    df['GPA'] = df['GPA'].where(df['Name'] != 'Jen', 3.2)
    
  • 布尔掩码分步赋值
    先定义筛选掩码,再通过掩码定位行进行赋值,适合需要复用掩码的场景:

    # 定义筛选Jen的掩码
    is_jen = df['Name'] == 'Jen'
    # 针对掩码匹配的行修改GPA
    df.loc[is_jen, 'GPA'] = 3.2
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:42:03