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

如何用Python在DataFrame中新增匹配指定字符串的0/1指示列

错误原因

你在列表推导中遍历df['value']时,拿到的迭代元素x是单个Python原生字符串对象,.str是Pandas Series类型专属的字符串处理访问器,不能作用于单个字符串,因此触发了属性错误。

符合Pythonic风格的正确实现

优先使用Pandas矢量化操作,无需写循环,执行效率更高,代码更简洁:

# 只要value列包含<即满足条件(匹配<、<<两种场景),布尔值直接转int即为1/0
df['INDICATOR'] = df['value'].str.contains('<', regex=False).astype(int)

如果需要严格通过正则匹配<或<<两种规则,可以开启正则匹配:

df['INDICATOR'] = df['value'].str.contains(r'<|<<', regex=True).astype(int)

列表推导修正写法(仅适合小数据量场景)

如果要沿用列表推导的写法,直接调用Python原生字符串的判断方法即可:

df['INDICATOR'] = [1 if '<' in x else 0 for x in df['value']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 01:15:02