根据字典创建一个 pandas 列以另一个列值为条件
Creating a pandas column conditional to another columns values based on a dictionary
晚安,
我目前正在尝试使用 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]
随着字典和数据库的不断增长。我想问问有没有更优雅高效的方式来实现。
提前感谢您的帮助。
您的解决方案应该稍微简化一下:
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
晚安,
我目前正在尝试使用 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]
随着字典和数据库的不断增长。我想问问有没有更优雅高效的方式来实现。
提前感谢您的帮助。
您的解决方案应该稍微简化一下:
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