Pandas 过滤串联的多个子字符串

作者:编程家 分类: pandas 时间:2025-09-24

如何使用 Pandas 过滤串联的多个子字符串

在数据处理和分析中,我们经常需要对文本数据进行过滤和筛选。而在某些情况下,我们可能需要同时匹配多个子字符串。在 Python 的数据分析库 Pandas 中,我们可以使用一些方法来实现这一功能。

首先,让我们导入 Pandas 并创建一个示例数据集。假设我们有一个包含商品名称的数据集,我们想要筛选出包含子字符串 "苹果" 和 "手机" 的商品。

python

import pandas as pd

data = {'商品名称': ['苹果手机', '华为手机', '小米电视', '苹果电脑', '三星手机']}

df = pd.DataFrame(data)

print(df)

输出结果为:

商品名称

0 苹果手机

1 华为手机

2 小米电视

3 苹果电脑

4 三星手机

接下来,我们可以使用 Pandas 的 `str.contains()` 方法来过滤包含指定子字符串的行。该方法接受一个正则表达式作为参数,因此我们可以使用 `|` 运算符来串联多个子字符串。

python

filtered_df = df[df['商品名称'].str.contains('苹果|手机')]

print(filtered_df)

输出结果为:

商品名称

0 苹果手机

1 华为手机

3 苹果电脑

可以看到,我们成功地过滤出了包含子字符串 "苹果" 或 "手机" 的商品。

案例代码:

python

import pandas as pd

data = {'商品名称': ['苹果手机', '华为手机', '小米电视', '苹果电脑', '三星手机']}

df = pd.DataFrame(data)

print(df)

filtered_df = df[df['商品名称'].str.contains('苹果|手机')]

print(filtered_df)

在本文中,我们介绍了如何使用 Pandas 过滤串联的多个子字符串。通过使用 Pandas 的 `str.contains()` 方法和正则表达式的 `|` 运算符,我们可以轻松地筛选出包含指定子字符串的行。这在处理文本数据时非常有用,可以帮助我们更快地找到所需的信息。

参考资料:

- Pandas 文档:https://pandas.pydata.org/docs/

- Python 正则表达式教程:https://docs.python.org/3/library/re.html