匹配字符串的 Pythonic 方法并在数据帧上创建一列?

问题描述

如何基于列 df['value'] 添加/创建返回 1 的列,如果该列中的值包含

df['INDICATOR'] = [1 if x.str.contains("<|<<") else 0 for x in df['value']]

我上面的尝试返回一个属性错误:'str object has no attrbute 'str'

解决方法

创建掩码,然后Series.astypeSeries.viewnumpy.whereTrue/False 转换为1/0

m = df['value'].str.contains("<|<<")
#simplify mask - if contains << then contain <
m = df['value'].str.contains("<")


df['INDICATOR'] = m.astype(int)

df['INDICATOR'] = m.view('i1')

df['INDICATOR'] = np.where(m,1,0)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...