pandas中的contains()

str.contains()

pandas 中,str.contains 方法用于检查 DataFrame 或 Series 中字符串元素是否包含特定的子字符串。它返回一个布尔值(TrueFalse)的 Series,表示每个元素是否匹配指定的模式或子字符串。

参数

  • pat:要搜索的模式或子字符串。可以是字符串或正则表达式。

  • case:是否区分大小写。默认为 True(区分大小写),如果设置为 False,则不区分大小写。

  • na:如何处理缺失值(NaN)。默认为 nan(返回 NaN),也可以设置为 False(返回 False)。

以下是 str.contains 方法的一些关键点和用法示例:

基本用法

import pandas as pd
 
# 创建一个示例 DataFrame
df = pd.DataFrame({
    'text': ['hello world', 'pandas is great', 'data science', 'python pandas']
})
 
# 检查 'text' 列中是否包含子字符串 'pandas'
contains_pandas = df['text'].str.contains('pandas')
 
print(contains_pandas)

输出:

0    False
1     True
2    False
3     True
Name: text, dtype: bool

示例:

不区分大小写的搜索
import pandas as pd
 
# 创建一个示例 DataFrame
df = pd.DataFrame({
    'text': ['hello world', 'pandas is great', 'data science', 'python pandas']
})

# 不区分大小写地检查 'text' 列中是否包含子字符串 'PANDAS'
contains_pandas_ignorecase = df['text'].str.contains('PANDAS', case=False)
 
print(contains_pandas_ignorecase)

输出:

0    False
1     True
2    False
3     True
Name: text, dtype: bool
使用布尔 Series 进行过滤

你可以将 str.contains 返回的布尔 Series 用作过滤条件,以选择包含特定子字符串的行:

import pandas as pd
 
# 创建一个示例 DataFrame
df = pd.DataFrame({
    'text': ['hello world', 'pandas is great', 'data science', 'python pandas']
})

# 选择包含 'pandas' 的行
df_contains_pandas = df[df['text'].str.contains('pandas')]
 
print(df_contains_pandas)

输出:

text
1  pandas is great
3     python pandas

注意事项

  • 如果 pat 参数是一个正则表达式,你可以使用正则表达式的特性来匹配更复杂的模式。
  • str.contains 方法仅在字符串类型的列上有效。如果列包含非字符串数据,你可能会在调用该方法之前需要先将列转换为字符串类型。

总之,str.containspandas 中一个非常有用的方法,用于在字符串数据中搜索特定的子字符串或模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值