📌  相关文章
📜  pandas 多个字符串包含 - Python (1)

📅  最后修改于: 2023-12-03 15:33:24.344000             🧑  作者: Mango

Pandas 多个字符串包含 - Python

Pandas 是一个用于数据处理和分析的 Python 库,提供了丰富的数据结构和数据处理方法。在 Pandas 中,可以轻松地处理多个字符串包含的场景,本文介绍了几种常见的方法。

1. Series.str.contains() 方法

Series.str.contains() 方法可以用于判断一个 Series 中是否包含某个字符串,返回一个布尔型的 Series。例如,对于一个 Series s,我们可以判断其中是否包含字符串 "pandas"

import pandas as pd

s = pd.Series(['pandas', 'numpy', 'scikit-learn'])

s.str.contains('pandas')

输出:

0     True
1    False
2    False
dtype: bool
2. Series.str.contains() 方法加正则表达式

Series.str.contains() 方法支持传入正则表达式作为参数,用于处理更加复杂的字符串匹配。例如,我们可以使用正则表达式判断一个 Series 中是否包含以 "p" 开头的字符串:

s.str.contains('^p')

输出:

0     True
1     True
2    False
dtype: bool
3. Series.str.contains() 方法加多个字符串

Series.str.contains() 方法还支持传入多个字符串作为参数,用于匹配其中任意一个字符串。例如,我们可以通过以下方式判断一个 Series 中是否包含字符串 "pandas""numpy"

s.str.contains('pandas|numpy')

输出:

0     True
1     True
2    False
dtype: bool
4. Series.str.extract() 方法加正则表达式

除了 Series.str.contains() 方法外,Pandas 还提供了 Series.str.extract() 方法,用于从字符串中提取匹配到的部分。例如,我们可以使用正则表达式提取一个 Series 中所有以 "p" 开头的字符串:

s.str.extract('^(p\w+)', expand=False)

输出:

0    pandas
1       NaN
2       NaN
dtype: object

需要注意,Series.str.extract() 方法返回的是一个新的 Series,其中未匹配到的部分会被填充为 NaN

总结

本文介绍了 Pandas 中处理多个字符串包含的几种常见方法,包括 Series.str.contains() 方法加正则表达式、Series.str.contains() 方法加多个字符串以及 Series.str.extract() 方法加正则表达式。这些方法可以帮助我们轻松地处理各种字符串匹配的场景。