尝试将此逻辑应用于以下DF
我有一个df如下
import pandas as pd
import numpy as pd
df = pd.read_csv('subjects.csv')
Subjects
Media
information Media
Digital Media
然后,我尝试将我的主题映射到字典,以输出经过验证的corrected_subject
d = {'Media' : 'Film & Media',
'Information' : 'ICT',
'Digital' : 'ICT'}
df['subject_corrected'] = df['subjects'](lambda x: ', '.join([d[i] for i in d if i in x]))
Subjects subject_corrected
Media Film & Media
information Media Film & Media, ICT
Digital Media Film & Media, ICT
现在,通过我的DF使用此循环,在我希望它找到最接近的匹配并退出循环的地方给了我所有匹配项。因此,数字媒体将是ICT,而不是媒体
我已经尝试了以下方法,但是对我来说并不是一个好兆头!为了
for k,v in d.items():
if k in df['subjects']:
df['subject_corrected'] = d.values():
Subjects subject_corrected
Media Film & Media
information Media ICT
Digital Media ICT
我看过很多类似的文章,但无法解决。
我会以错误的方式解决这个问题,是否应该将其传递到两个列表/数组中并使用if语句遍历所有匹配项?dict与2D阵列有何不同?
郎朗坤
相关分类