我有这个数据框,其中性别预计为男性或女性。
from io import StringIO
import pandas as pd
audit_trail = StringIO('''
course_id AcademicYear_to months TotalFee Gender
260 2017 24 100 male
260 2018 12 140 male
274 2016 36 300 mail
274 2017 24 340 female
274 2018 12 200 animal
285 2017 24 300 bird
285 2018 12 200 maela
''')
df11 = pd.read_csv(audit_trail, sep=" " )
我可以使用字典纠正拼写错误。
corrections={'mail':'male', 'mael':'male', 'maae':'male'}
df11.Gender.replace(corrections)
但我正在寻找一种方法,仅保留男性/女性和“其他”类别的其余选项。预期输出:
0 male
1 male
2 male
3 female
4 other
5 other
6 male
Name: Gender, dtype: object
添加另外两个虚拟条目到您的corrections
dict:
corrections = {'male' : 'male', # dummy entry for male
'female' : 'female', # dummy entry for female
'mail' : 'male',
'maela' : 'male',
'maae' : 'male'}
现在,使用map
and fillna
:
df11.Gender = df11.Gender.map(corrections).fillna('other')
df11
course_id AcademicYear_to months TotalFee Gender
0 260 2017 24 100 male
1 260 2018 12 140 male
2 274 2016 36 300 male
3 274 2017 24 340 female
4 274 2018 12 200 other
5 285 2017 24 300 other
6 285 2018 12 200 male
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)