我有一个数据框,其中一列中有以下值:
在:
df.line.unique()
输出:
array(['Line71A', 'Line71B', 'Line75B', 'Line79A', 'Line79B', 'Line75A', 'Line74A', 'Line74B',
'Line70A', 'Line70B', 'Line58B', 'Line70', 'Line71', 'Line74', 'Line75', 'Line79', 'Line58'],
dtype=object)
如果值字符串包含LineXX,我想创建一个包含2个值的新列,如下所示:
if (df.line.str.contains("Line70") or (df.line.str.contains("Line71") or (df.line.str.contains("Line79")):
return 1
else:
return 0
因此,如果df.line
中的值包含“Line70”、“Line71”、“Line79”,则新列box_type
中的值应为1,其余应为0
我试着用这个代码:
df['box_type'] = df.line.apply(lambda x: 1 if x.contains('Line70') or x.contains('Line71') or x.contains('Line79') else 0)
但我有个错误:
AttributeError: 'str' object has no attribute 'contains'
我试着在x
和contains
之间添加.str
,就像x.str.contains()
,但这也给出了一个错误。你知道吗
我该怎么做?你知道吗
谢谢!你知道吗
怎么样:
样本数据:
输出:
相关问题 更多 >
编程相关推荐