【发布时间】:2019-01-22 16:36:40
【问题描述】:
我有一个熊猫数据框A,列keywords 为:-
keywords
['loans','mercedez','bugatti','a4']
['trump','usa','election','president']
['galaxy','7s','canon','macbook']
['beiber','spiderman','marvels','ironmen']
.........................................
.........................................
.........................................
我还有另一个熊猫数据框B,其列category 和words 是逗号分隔的字符串:-
category words
audi audi a4,audi a6
bugatti bugatti veyron, bugatti chiron
mercedez mercedez s-class, mercedez e-class
dslr canon, nikon
apple iphone 7s,iphone 6s,iphone 5
finance sales,loans,sales price
politics donald trump, election, votes
entertainment spiderman,captain america, ironmen
music justin beiber, rihana,drake
........ ..............
......... .........
我只想将dataframe A 列keywords 与dataframe B 列words 映射并分配相应的category。 keywords 列的映射应与列word 的字符串中的每个单词。例如:- 关键字a4 应与words 列中的字符串audi a4 中的两个单词匹配。预期结果为:-
keywords matched_category
['loans','mercedez','bugatti','a4'] ['finance','mercedez','mercedez','bugatti','bugatti','audi']
['trump','usa','election','president'] ['politics','politics']
['galaxy','7s','canon','macbook'] ['apple','dslr']
['beiber','spiderman','marvels','ironmen'] ['music','entertaiment','entertainment','entertainment']
【问题讨论】:
-
据我所知,您的大部分字词和关键字都有一些重叠。您应该可以使用它。
-
@Kwright02 映射关键字后,我也想删除重复项。
-
使用二维数组遍历单词集,如果在任何点 list[i].equals(list[j]) 则删除其中一个,但确保 J 不是与我相同的索引。
标签: python arrays python-3.x pandas dataframe