【发布时间】:2019-08-06 23:53:11
【问题描述】:
我有一本字典:
'Consulting': {'Deloitte', 'EY', 'KPMG', 'PwC'},
'Education': {'.edu', 'College', 'University'},
'Government':{'state','.gov','city'},
'Corporate':{'corpor','consumer','care'},
...... etc.
我有一个数据框:
Sno Text column1 column2 ......
1 Deloitte.com
2 Texas.gov
3 smi@EY.com
4 UTD.edu
5 rapper@corporate.com
..... etc.
我想用字典对数据框进行分类,并建立一个列Category,像这样:
Sno Text Category column1 column2 ......
1 Deloitte.com Consulting
2 Texas.gov Government
3 smi@EY.com Consulting
4 UTD.edu Education
5 rapper@corporate.com Corporate
..... etc.
如何在 python 中使用具有多个值的字典在 Text 列中找到完整的短语或部分短语并对其进行分类?如果存在 2 个匹配项,我们是否也可以使用相同的逻辑?那会发生什么?
另外, 可能听起来很模糊,但我使用 Dictionary 的原因是因为我们可以将多个值映射到一个类别,有没有更好的方法可以在没有字典的情况下做到这一点?
【问题讨论】:
-
[k for k, v in dictionary.items() if v in col_value] 应该得到所有的匹配。假设只存在一个匹配,获取第 0 个索引。然后你可以使用 df[“text”].apply(lambda ...)。原谅错别字 - 我在用手机
标签: python pandas numpy dictionary logic