gpt4 book ai didi

python - pandas 查找系列之间的共同字符串并返回关键字

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:12 24 4
gpt4 key购买 nike

我想改进this previous question关于根据一系列关键字在 pandas Series 中搜索字符串。我现在的问题是如何获取 DataFrame 行中找到的关键字作为新列。关键字系列“w”是:

Skilful
Wilful
Somewhere
Thing
Strange

数据帧“df”是:

User_ID;Tweet
01;hi all
02;see you somewhere
03;So weird
04;hi all :-)
05;next big thing
06;how can i say no?
07;so strange
08;not at all

以下解决方案对于屏蔽 DataFrame 效果很好:

import re
r = re.compile(r'.*({}).*'.format('|'.join(w.values)), re.IGNORECASE)
masked = map(bool, map(r.match, df['Tweet']))
df['Tweet_masked'] = masked

并返回:

   User_ID              Tweet Tweet_masked
0 1 hi all False
1 2 see you somewhere True
2 3 So weird False
3 4 hi all :-) False
4 5 next big thing True
5 6 how can i say no? False
6 7 so strange True
7 8 not at all False

现在我正在寻找这样的结果:

User_ID;Tweet;Keyword
01;hi all;None
02;see you somewhere;somewhere
03;So weird;None
04;hi all :-);None
05;next big thing;thing
06;how can i say no?;None
07;so strange;strange
08;not at all;None

预先感谢您的支持。

最佳答案

更换怎么样

masked = map(bool, map(r.match, df['Tweet']))

masked = [m.group(1) if m else None for m in map(r.match, df['Tweet'])]

关于python - pandas 查找系列之间的共同字符串并返回关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com