我试图从一列字符串和一个给定单词列表中找到所有匹配的单词。如果我使用pandas str.extract()
,我可以得到第一个匹配的单词,因为我需要所有匹配的单词,所以我认为pandas str.extractall()
可以工作,但是,我只得到了一个ValueError
。
这是什么问题?
df['findWord'] = df['text'].str.extractall(f"({'|'.join(wordlist)})").fillna('')
ValueError: Buffer dtype mismatch, expected 'Python object' but got 'long long'
1条答案
按热度按时间hmae6n7t1#
extract
返回第一个匹配项。extractall
为每个匹配项生成一行。例如,让我们匹配A和下面的字母。
这就创建了一个新的索引级别"match"来标识匹配号,来自同一行的匹配项由相同的第一个索引级别标识。
输出:
对于
extract
:输出:
聚合
extractall
的输出输出: