根据其他列的特定值创建一列 pandas python
Make a column based on specific values from other column pandas python
我得到了这个数据框
Contact
Title
1
Dear Sir White,
2
Dear Madam Ford,
3
Dear Sir / Madam Hendricx,
我想在 'Title'
列的基础上创建另一个名为 'Gender' 的列
Contact
Title
Gender
1
Dear Sir White,
M
2
Dear Madam Ford,
F
3
Dear Sir / Madam Hendricx,
O
所以亲爱的先生是 M(ale)
亲爱的女士是F(女)
尊敬的先生/女士是O
希望有人能帮忙!
g = []
for text in df.Title:
if ' Sir / Madam' in text:
g.append('O')
elif 'Sir' in text:
g.append('M')
else:
g.append('F')
df["Gender"] = g
df.loc[df['title'].str.contains("Sir"), 'Gender'] = 'Male'
df.loc[df['title'].str.contains("Madam"), 'Gender'] = 'Female'
df.loc[df['title'].str.contains(" Sir / Madam"), 'Gender'] = '0'
另外,检查 this
def my_func(text):
if 'Sir / Madam' in text:
return 'O'
elif 'Madam' in text:
return 'F'
else:
return 'M'
df['Gender'] = df['Title'].apply(my_func)
我得到了这个数据框
Contact | Title |
---|---|
1 | Dear Sir White, |
2 | Dear Madam Ford, |
3 | Dear Sir / Madam Hendricx, |
我想在 'Title'
列的基础上创建另一个名为 'Gender' 的列Contact | Title | Gender |
---|---|---|
1 | Dear Sir White, | M |
2 | Dear Madam Ford, | F |
3 | Dear Sir / Madam Hendricx, | O |
所以亲爱的先生是 M(ale)
亲爱的女士是F(女)
尊敬的先生/女士是O
希望有人能帮忙!
g = []
for text in df.Title:
if ' Sir / Madam' in text:
g.append('O')
elif 'Sir' in text:
g.append('M')
else:
g.append('F')
df["Gender"] = g
df.loc[df['title'].str.contains("Sir"), 'Gender'] = 'Male'
df.loc[df['title'].str.contains("Madam"), 'Gender'] = 'Female'
df.loc[df['title'].str.contains(" Sir / Madam"), 'Gender'] = '0'
另外,检查 this
def my_func(text):
if 'Sir / Madam' in text:
return 'O'
elif 'Madam' in text:
return 'F'
else:
return 'M'
df['Gender'] = df['Title'].apply(my_func)