我已经导入了从LinkedIn导出的关于我的联系的电子表格,并希望将人们在不同级别上的职位进行分类。
因此,我创建了一个词典,其中包含用于查找每个职位级别的术语。
例如:
dic = {'0 - CEO, Founder, Co-Founder': ['CEO', 'Founder', 'Co-Founder', 'Cofounder', 'Owner'], '1 - Director of': ['Director', 'Head']}
而且我需要一个代码来读取电子表格中的每个位置,检查是否有这些术语并在另一特定列中返回等效键。
我正在使用Pandas进行此操作,因此我将电子表格作为数据框导入,并且已经设法进行了如下所示的分类:
我以前这样做的代码是:
import pandas as pd plan = pd.read_excel('SpreadSheet Name.xlsx', sheet_name = 'Positions') dic0 = ['Accelerator', 'Account'] dic1 = ['Académico'] dic2 = ['Visual', 'Volunteer'] dicgeral = [dic0, dic1, dic2] def in_list(list_to_search,terms_to_search): results = [item for item in list_to_search if item in terms_to_search] if len(results) > 0: return '? - Teste' else: return 'False' plan['PositionLevel'] = plan['Position'].str.split().apply(lambda x: in_list(x, dicgeral[0]))
但是,这种方法是从数据框中的list_t_search中的terms_to_search列表中识别一项。我相信这样做的最好方法是从字典中然后返回密钥。
我尝试将以下代码应用于该程序:
dicgeral_2 = {'0 - Teste': ['Accelerator', 'Account'], '1 - Teste':['Académico'], '2 - Teste':['Visual', 'Volunteer']} def in_dic (x, dicgeral_2): for key in dicgeral_2: for elem in dicgeral_2[key]: if elem == x: return key return False
其中的输出来自:
in_dic('Account', dicgeral_2)
是'0 - Teste'
但是我什么也没得到。
我真的很感谢任何人的帮助。
非常感谢。
我已经导入了从LinkedIn导出的关于我的联系的电子表格,并希望将人们在不同级别上的职位进行分类。因此,我创建了一个字典,其中包含用于查找每个词的术语...
尝试一下: