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

如何使用pandas根据另一列的部分内容高效修改指定列的值

原有代码问题
  • 逻辑错误:循环中判断时间符合条件时,直接对整个VALUE列赋值30,会导致所有行的VALUE都被修改,无法实现仅修改对应行的需求。
  • 性能问题:Python层的逐行循环在处理千万级数据时,会产生极大的性能开销,耗时极长。
高效解决方案

直接使用pandas原生的向量化操作,底层由C实现,无需Python层循环,千万级数据也可在秒级完成处理,同时逻辑正确。
核心思路是通过布尔掩码筛选出符合条件的行,直接对指定列的对应行赋值。

实现代码
import pandas as pd

df = pd.read_csv('file.csv')
# 若TIME列非字符串类型,可先执行 df['TIME'] = df['TIME'].astype(str) 转换
df.loc[df['TIME'].str[:2] == '02', 'VALUE'] = 30
df.to_csv("file.csv", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:54:03