df['备注'].str.contains('红') | df['备注'].str.contains('张')与patterns = ['张', '红'] df['备注'].str.contains('|'.join(patterns))的区别
时间: 2023-06-08 14:05:15 浏览: 137
这两个语句的作用是类似的,都是用于判断一个数据框(df)中的“备注”列中是否包含“张”或“红”关键词。但是第二个语句使用了更简洁的代码,即使用了join函数,将patterns列表中的元素以“|”符号连接起来作为一个正则表达式模式进行匹配。这样可以减少代码量并提高可读性。
相关问题
python中的contains可以给多个值吗
在Python中,contains函数用于判断一个对象是否包含某个值。如果您使用的是Python中的内置函数,那么contains只接受单个参数,即要搜索的值。如果您要搜索多个值,可以使用in关键字来检查对象中是否包含任意一个值。例如,假设您要检查一个列表中是否包含多个值,可以使用以下代码:
```
my_list = [1, 2, 3, 4, 5]
if 1 in my_list and 2 in my_list and 3 in my_list:
print("The list contains 1, 2, and 3.")
else:
print("The list does not contain 1, 2, and 3.")
```
在这个例子中,if语句将检查my_list是否至少包含1、2和3。如果是,它将输出"The list contains 1, 2, and 3.",否则将输出"The list does not contain 1, 2, and 3."。
如果您使用的是pandas库中的contains函数,该函数允许您在Series或DataFrame中搜索多个正则表达式模式。在这种情况下,您可以将模式作为列表传递给contains函数,例如:
```
import pandas as pd
df = pd.DataFrame({'text': ['hello world', 'goodbye', 'greetings']})
patterns = ['hello', 'goodbye', 'farewell']
matches = df['text'].str.contains('|'.join(patterns))
```
在这个例子中,contains函数将检查df['text']列中是否包含任何一个模式。matches将包含一个布尔值Series,指示每个行是否至少包含其中一个模式。
阅读全文