根据column元素中的单词(部分匹配或完整)将多个标签匹配到一列

时间:2019-05-23 20:42:16

标签: python pandas matching data-manipulation string-matching

我有两个数据集,例如:

currentSection

,依此类推... 我想将这些标签分配给其他数据集。

第二个数据集是这样的:

'@'

我想使用Python来匹配这两个数据集,如下所示:

..left join othertable
on othertable.username = substr(email.email_address, 1, instr(email.email_address, '@') - 1)

因此,基本上,第一个标签“房地产保险” 包含两个标签:房地产和保险,因此它两次出现,每个标签都包含一个标签。 “政府实体-自治市” 也是如此。

我该怎么做?另外,如果没有完整的匹配项,是否可以分配标签的部分匹配项?例如:

  Tags
Insurance
Asset
Bank
Municipality
Government
Corporate
Gas
General US Public Finance
Real Estate

谢谢。

1 个答案:

答案 0 :(得分:0)

假设这两个都是熊猫系列。我将问题中的第一个系列称为“标签”,将第二个系列称为“ user_tags”。

matched = tags.apply(
    lambda x: user_tags.loc[tags.str.contains(x)]
)
final_table = pd.concat([tags,matched],axis=1)