我有一列包含客户端名称。现在,我想创建另一个只能包含以下标题的列:((先生),(夫人),(博士))
我的专栏就像:
print(df['Name'])
Name
0 William, Mr. Henry
1 Mrs Meryam Hinadi
2 Dr. Richard Barodi
3 Yadar Danari Mr.
4 Gadi Dr. Nawsi
我定义了此功能,但无法正常工作。我一定很想念东西。请纠正我。
def get_status(cols):
name = cols[0]
if name == name.str.contains('Mrs'):
return 'Mrs'
elif name == name.str.contains('Mr.'):
return 'Mr.'
elif name == name.str.contains('Dr.'):
return 'Dr.'
else:
return name
df['Titles'] = df['Name'].apply(get_status)
谢谢。
尝试一下:
def get_status(cols):
if ('Mrs') in cols:
return 'Mrs'
elif ('Mr.') in cols:
return 'Mr.'
elif ('Dr.') in cols:
return 'Dr.'
else:
return cols
df['Titles'] = df['name'].apply(get_status)
输出:
name Titles
0 William, Mr. Henry Mr.
1 Mrs Meryam Hinadi Mrs
2 Dr. Richard Barodi Dr.
3 Yadar Danari Mr. Mr.
4 Gadi Dr. Nawsi Dr.