Goodday,
我目前正尝试使用python 3.x和pandas基于作业标题标记大量作业广告。由于每家公司都为自己的工作使用不同的术语,我希望以合理的方式对它们进行聚类。
目前,我有一个包含40.000多个招聘广告的数据框,并使用以下代码标记新pandas列中的作业:
dictionary = {
'c.*dev': 'c developer',
'web.*des': 'web designer',
'onl.*mark': 'online marketer',
...
}
for key in dictionary:
df.loc[(df['Job'].str.contains(key) == True), ['Clustered Jobs']] = dictionary[key]
随着字典和数据库的不断增长。我想问一下,是否有一种更优雅,更有效的方式来做到这一点。
提前感谢您的帮助。
答案 0 :(得分:1)
你的解决方案应该有点简化:
for key in dictionary:
df.loc[df['Job'].str.contains(key), 'Clustered Jobs'] = dictionary[key]
或者:
for k, v in dictionary.items():
df.loc[df['Job'].str.contains(k), 'Clustered Jobs'] = v