Pandas:字符串的多个条件

2024-06-25 05:40:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图改变我的数据帧。 通常我用的是

df1= df[df.url.str.contains("avito.ru/*/telefony/")]

但如果我想要很多条件呢? 我想写入contains100多个字符串。 我怎么能做到呢?在

数据帧

^{pr2}$

还有一些单子上的词

lst = ['iphone', 'sony', 'alcatel', 'galaxy', 'samsumg]

期望输出

apple iphone
samsumg
None
None
None

我的意思是如果有些单词不包含在str中,我想删除它。(但我也不想有价值观)。在


Tags: 数据字符串noneurldfru条件df1
1条回答
网友
1楼 · 发布于 2024-06-25 05:40:56

您可以通过将|与所有列表项联接来创建一个模式,并将其传递给str.contains

In [31]:
lst = ['iphone', 'sony', 'alcatel', 'galaxy', 'samsumg','None']
pat = '|'.join(lst)
df[df['url'].str.contains(pat)]

Out[31]:
             url
10  apple iphone
11       samsumg
13          None
14          None
15          None

要处理丢失的值,请在布尔条件中包含pd.isNull(df['url'])

^{pr2}$

相关问题 更多 >