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

如何遍历Pandas DataFrame,替换含‘beverage’的categories列值?

解决方法:批量更新含特定字符串的列值

嘿,我来帮你搞定这个需求!其实不用手动遍历整个数据集哦——Pandas(我猜你用的是它来处理数据集,毕竟这是最常用的工具)有更简洁高效的矢量化操作,比手动写循环快得多,还不容易出错。

推荐方法:用Pandas内置方法批量处理

直接用str.contains定位符合条件的行,再用loc批量更新,代码超简洁:

import pandas as pd

# 假设你的数据集存储在df变量中
df.loc[df['categories'].str.contains('beverage', case=False, na=False), 'categories'] = 'beverage'

参数说明:

  • case=False:不区分大小写(如果需要严格区分,就去掉这个参数)
  • na=False:忽略空值(NaN),避免因为空值导致报错

如果一定要手动遍历(不推荐,仅作参考)

如果你坚持要手动遍历每一行,也可以用iterrows来实现,但注意这种方法在大数据集上效率很低:

for index, row in df.iterrows():
    # 先把列值转成字符串,防止非字符串类型(比如NaN)报错
    if 'beverage' in str(row['categories']):
        df.at[index, 'categories'] = 'beverage'

小提示

矢量化操作是Pandas的核心优势之一,能充分利用底层优化,处理几十万甚至上百万行数据都毫无压力,远胜手动循环。所以优先推荐第一种方法哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:13:26