要过滤包含特定数据的列,可以使用 str.contains() 方法。该方法接受一个正则表达式作为参数,返回一个布尔值的 Series,指示每个元素是否包含指定的模式。

以下是一个示例,演示如何过滤包含特定数据的列:

import pandas as pd

# 创建示例数据
data = {'A': ['apple', 'banana', 'orange'],
        'B': ['apple pie', 'banana bread', 'orange juice']}
df = pd.DataFrame(data)

# 过滤包含'apple'的列
filtered_df = df[df['A'].str.contains('apple')]

print(filtered_df)

输出结果为:

       A             B
0  apple    apple pie

要过滤不包含特定数据的列,可以使用 ~ 操作符来取反。以下是一个示例,演示如何过滤不包含特定数据的列:

import pandas as pd

# 创建示例数据
data = {'A': ['apple', 'banana', 'orange'],
        'B': ['apple pie', 'banana bread', 'orange juice']}
df = pd.DataFrame(data)

# 过滤不包含'apple'的列
filtered_df = df[~df['A'].str.contains('apple')]

print(filtered_df)

输出结果为:

       A             B
1  banana  banana bread
2  orange  orange juice

注意,str.contains() 方法对于每个元素都会执行一次正则表达式匹配,因此在处理大数据集时可能会有性能问题。如果只是简单地检查是否包含特定字符串,可以使用 str.contains()regex=False 参数,以提高性能。

Pandas 过滤列数据:包含和不包含特定字符串

原文地址: http://www.cveoy.top/t/topic/fR3j 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录