gpt4 book ai didi

python - pandas:从字典的逆映射创建列

转载 作者:行者123 更新时间:2023-12-01 00:58:05 25 4
gpt4 key购买 nike

我有一个包含公司名称的数据框和一个字典,该字典将名称的所有变体映射到一个正式名称。

我想根据该词典创建一个具有正式名称的新列。有没有比迭代字典中的键值更简洁的方法?

df = pd.DataFrame({'name' : ['company a', 'company a inc', 'a electronics', 'company a ltd', 'the company a', 'b enterprises', 'company b']})

name_dict = {'company a' : ['company a', 'company a inc', 'a electronics', 'company a ltd', 'the company a'],
'company b' : ['b enterprises', 'company b']}

def get_company_name(name):
for k, v in name_dict.items():
if name in v:
return k

df['official_name'] = df.name.apply(get_company_name)

最佳答案

我将创建前向字典并替换:

forward_names = {v:k  for k, val in name_dict.items() for v in val }
df['official_name'] = df['name'].replace(forward_names)

关于python - pandas:从字典的逆映射创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56079638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com