如何解决如何使用数据框一列来匹配字典值以获取字典键
ID NAME dict_key
1 APPLE NaN
2 GOOGLE Nan
3 IBM NaN
4 HP NaN
5 SAMSUNG NaN
...
{1000:['APPLE INC','APPLE COmpuTER INC','AOPLE INC','APPLE'],1001:['GOOGLE INC','GOOGLE','GOOLELL INC']}.....
我想编写一个循环来查看字典中数据框第二列的公司名称是否匹配,例如第一行的APPLE和第一列要与键为1000的dict中的APPLE匹配,那么我想分配dict_key列的键。 非常感谢。
解决方法
尝试遍历字典并使用每个名称列表调用series.update
:
for key,names in my_dict.items():
df.dict_key.update(df.name.isin(names) * key) # True * 1000 = 1000
,
所以我认为您想应用一个自定义函数,该函数将在所有键值对上运行,并检查df ['NAME']中的值是否在该值中。
def match_company_to_key(company_name):
for key,value in your_dict.items():
if company_name in value
return key
df['dict_key'] = df['NAME'].apply(match_company_to_key)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。