gpt4 book ai didi

python - 从列表中搜索部分字符串并添加具有该部分字符串的列

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:07 25 4
gpt4 key购买 nike

我不会在 df.column 中搜索我保存在系列中的部分字符串,也不会用我在每一行中找到的字符串创建一个新列。我的问题的一部分被解决了 pandas: test if string contains one of the substrings in a list :

For example, say I have the series s = pd.Series(['cat','hat','dog','fog','pet']), and I want to find all places where s contains any of ['og', 'at'], I would want to get everything but pet.

解决方法是:

>>> searchfor = ['og', 'at']
>>> s[s.str.contains('|'.join(searchfor))]
0 cat
1 hat
2 dog
3 fog
dtype: object

但我想得到

         pet    contains
0 cat at
1 hat at
2 dog og
3 fog og
dtype: object

最佳答案

使用extract如果没有匹配得到 NaN,那么添加 dropna :

searchfor = ['og', 'at']
df['new'] = df['pet'].str.extract('(' + '|'.join(searchfor) + ')', expand=False)
df = df.dropna(subset=['new'])
print (df)
pet contains1 new
0 cat at at
1 hat at at
2 dog og og
3 fog og og

关于python - 从列表中搜索部分字符串并添加具有该部分字符串的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47072520/

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