要筛选DataFrame中不包含特定字符的行,您可以使用
str.contains()
方法来查找包含指定字符的行,并将其与
~
运算符一起使用来取反匹配结果,从而得到不包含特定字符的行。以下是一个示例代码:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [25, 30, 35, 40, 45],
'Country': ['USA', 'Canada', 'USA', 'UK', 'Australia']
# 筛选不包含字符"USA"的行
df_not_usa = df[~df['Country'].str.contains('USA')]
# 显示结果
print(df_not_usa)
输出结果如下:
Name Age Country
1 Bob 30 Canada
3 David 40 UK
4 Eve 45 Australia
在上述代码中,我们首先创建了一个示例DataFrame。然后,使用~
运算符和str.contains()
方法来查找不包含字符"USA"的行,将结果赋值给df_not_usa
变量。最后,我们打印出df_not_usa
的值来查看结果。
需要注意的是,str.contains()
方法的参数可以是一个字符串,也可以是一个正则表达式。如果您需要使用正则表达式来查找匹配项,则需要将regex
参数设置为True
。如果您想要匹配整个字符串而不是其中一部分,请在正则表达式中使用开始和结束锚定符(^
和$
)。