简体   繁体   English

根据来自其他列 pandas python 的特定值创建一列

[英]Make a column based on specific values from other column pandas python

I got this dataframe我得到了这个数据框

Contact接触 Title标题
1 1 Dear Sir White,亲爱的怀特先生,
2 2 Dear Madam Ford,亲爱的福特女士,
3 3 Dear Sir / Madam Hendricx,尊敬的先生/亨德里克斯女士,

I want to make another column called 'Gender' based on the column 'Title'我想根据“标题”列制作另一列名为“性别”的列

Contact接触 Title标题 Gender性别
1 1 Dear Sir White,亲爱的怀特先生, M
2 2 Dear Madam Ford,亲爱的福特女士, F F
3 3 Dear Sir / Madam Hendricx,尊敬的先生/亨德里克斯女士, O

So Dear Sir is M(ale)所以亲爱的先生是 M(ale)

Dear Madam is F(emale)亲爱的女士是 F(emale)

Dear Sir / Madam is O亲爱的先生/女士是 O

I hope someone can help!我希望有人能帮帮忙!

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'

also, check this另外,检查这个

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
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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM