我正在探索泰坦尼克号数据集,并希望创建一个名称相似的列。例如,任何包含“ Charles”的名称都将显示为“ ch”,因为我想稍后使用它们进行分组。我使用以下代码创建了一个函数:
def cont(Name):
for a in Name:
if a.str.contains('Charles'):
return('Ch')
然后使用以下方法进行应用:
titanic['namest']=titanic['Name'].apply(cont,axis=1)
错误: 'str' object has no attribute 'str'
而不是使用循环,apply
也可以使用vectorizedstr.contains
返回布尔值掩码并将满足条件的所有行设置为所需的值:
titanic.loc[titanic['Name'].str.contains('Charles'), 'namest'] = 'Ch'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句