所以我的DF有以下几列:代理商|基本工资| job_title | ...等
现在,在我的专栏:job_title中,注册了许多不同的职位。
现在,我有很多职位都包含“老师”一词,我想将它们合并。
例如!!老师,老师特别版,每节课老师,老师一般版,只做一个类别并将其存储在“老师”下!
这样,当我查看职称的value_counts()时,我没有很多不同的老师价值观,而我只有1个,其中包括所有不同类型的老师,归入“老师”类别。
输入项
df [“ job_title”]。value_counts()
输出:
老师....... 72979
每节课的老师...... 61369
老师特别版...... 24642
我希望我的输出为:
老师..........(所有三项之和!)
最佳答案
您可以使用Series.str.contains()
搜索匹配的字符串,然后根据需要对其进行修改:
df.loc[df['job_title'].str.contains('teacher'), 'job_title'] = 'teacher'
例如:
df = pd.DataFrame(
{
'job_title': ['teacher', 'teacher per session', 'teacher special ed',
'programmer']
}
)
print(df)
# job_title
#0 teacher
#1 teacher per session
#2 teacher special ed
#3 programmer
将所有包含单词
'teacher'
的标题更改为'teacher'
:df.loc[df['job_title'].str.contains('teacher'), 'job_title'] = 'teacher'
print(df['job_title'].value_counts())
#teacher 3
#programmer 1
#Name: job_title, dtype: int64
请注意,在此示例中,我将覆盖现有列,但是您可以轻松地创建一个新列:
df.loc[df['job_title'].str.contains('teacher'), 'new_job_title'] = 'teacher'