Python Pandas:在我的列中取行并将其分类为1行?

2024-09-24 02:14:24 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我的DF有专栏:代理|基本工资|职务|。。。等等

现在对于我的专栏:职位,有许多不同的职位注册。在

现在,我有很多职位都有“老师”这个词,我想把它们合并起来。在

例如!!教师,教师特别教育,教师每节课,教师一般教育,并作出一个类别和存储在“教师”!在

这样,当我看到职称的value_counts()时,我没有很多不同的教师价值观,我只有1,它将所有不同类型的教师归入“教师”类别。在

输入

df["job_title"].value_counts()

输出:

  • teacher ....... 72979
  • teacher per session ...... 61369
  • teacher special ed ...... 24642

我希望我的输出为:

  • teacher.......... (the sum of all 3 on top!)

Tags: 代理dfvalue职位教师老师类别teacher
2条回答

可以使用^{}搜索匹配字符串,然后根据需要修改它:

df.loc[df['job_title'].str.contains('teacher'), 'job_title'] = 'teacher'

例如:

^{pr2}$

将包含单词'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'

还可以为职务创建字典,并根据字典替换列中的值:

dictionary = {'teacher per session':'teacher', 'teacher special ed':'teacher'}
df['job_title'] = df.job_title.replace(dictionary)

相关问题 更多 >