详解pandas.str.contains()(检测字符串包含)函数使用方法

pandas.str.contains()函数是pandas库中的一个字符串匹配函数,用于在Series和DataFrame对象中通过正则表达式匹配来查找和筛选符合条件的字符串。该函数的详细用法和示例如下:

语法

pandas.str.contains(pat, case=True, flags=0, na=None, regex=True)

参数

  • pat: 字符串或正则表达式,用于查找的模式。

  • case: bool类型,默认是True,表示是否区分大小写。

  • flags: 用于re.compile()编译正则表达式的标志。

  • na: 用于替换缺失值的表示。

  • regex: bool类型,默认是True,表示字符串是否用正则表达式来匹配。

示例1

假设有如下的DataFrame对象:

import pandas as pd

data = {'id': [1, 2, 3, 4, 5],
        'name': ['张三', '李四', '王五', '赵六', '钱七'],
        'age': [20, 25, 22, 28, 35],
        'address': ['山东省青岛市', '山西省太原市', '广东省广州市', '江苏省南京市', '河南省郑州市']}

df = pd.DataFrame(data)
print(df)

# 输出报表:
   id name  age   address
0   1   张三   20  山东省青岛市
1   2   李四   25  山西省太原市
2   3   王五   22  广东省广州市
3   4   赵六   28  江苏省南京市
4   5   钱七   35  河南省郑州市

现在要筛选出所有地址中含有“省”的行,可以使用pandas.str.contains(),代码如下:

address_contains = df['address'].str.contains('省', regex=True)
print(df[address_contains])

# 输出结果:
   id name  age   address
0   1   张三   20  山东省青岛市
1   2   李四   25  山西省太原市
2   3   王五   22  广东省广州市
3   4   赵六   28  江苏省南京市
4   5   钱七   35  河南省郑州市

上述代码中,address_contains变量是一个bool类型的Series对象,其中每个元素表示对应行的地址是否包含“省”。而pandas.DataFrame的[]操作可以根据Series对象进行筛选,从而得到满足条件的行。

示例2

现在有一个包含多个url地址的Series对象,要筛选出所以以“.com”结尾的URL,代码如下:

urls = pd.Series(["http://www.pythonjishu.com",
                  "http://www.pythonjishu.com/data-science/pandas/",
                  "https://github.com/pandas-dev/pandas"])

contains_string = ".com$"
only_com = urls.str.contains(contains_string)
print(urls[only_com])

# 输出结果:
0                          https://www.pythonjishu.com
1    http://www.pythonjishu.com/data-science/pandas/
dtype: object

上述代码中,使用$表示正则表达式匹配字符串结尾的位置。最终得到只包含“.com”后缀URL的Series对象。

这两个示例展示了pandas.str.contains()函数的应用场景,可以帮助我们快速筛选和匹配符合条件的信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.str.contains()(检测字符串包含)函数使用方法 - Python技术站

(2)
上一篇 2023年3月22日
下一篇 2023年3月22日

相关文章

  • 详解pandas.DataFrame.sort_index()(按索引排序)函数使用方法

    pandas.DataFrame.sort_index()的作用与使用方法: sort_index()是pandas.DataFrame类中的一个方法,其作用是按照DataFrame的索引进行排序。 sort_index()可以按照行索引或列索引进行排序,默认情况下是按照行索引进行排序。 sort_index()的语法如下: DataFrame.sort_i…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.drop_duplicates()(删除重复值)函数使用方法

    pandas.drop_duplicates()的作用 pandas.drop_duplicates()是pandas库中的一个函数,主要用于去除数据集中的重复行。这个函数可以从任何一个DataFrame或Series对象中删除具有重复值的行,并返回一个新的DataFrame或Series,其中不包含任何重复的值。 pandas.drop_duplicate…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.DataFrame.groupby()(按列分组)函数使用方法

    pandas.DataFrame.groupby()是pandas中用于分组聚合数据的方法。具体来说,它可以按照某些列的值将数据分组,并对每个分组进行聚合操作,如求和、平均、计数等。 使用方法: pandas.DataFrame.groupby()的基本语法为: df.groupby(by=None, axis=0, level=None, as_index…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.duplicated()(检测重复值)函数使用方法

    pandas.duplicated()是Pandas库中的一个函数,用于查找和标记重复值。它返回一个布尔值的数组,指示每个元素是否为重复项。 使用方法 语法: pandas.duplicated(subset=None, keep=’first’) 参数: subset: 可选,用于标识重复项的列名或列名列表。默认情况下,它比较整个行。 keep: 可选,标…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.DataFrame.pivot_table()(创建透视表)函数使用方法

    pandas.DataFrame.pivot_table()介绍 pandas.DataFrame.pivot_table()是pandas库中的一个函数。它可用于操作数据框(DataFrame)以创建透视表。透视表是一种灵活的汇总数据技术,它可以按多个维度对数据进行计算和汇总。 通常情况下,透视表有一个或多个行和列变量,以及一个或多个值变量。pivot_t…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.str.extract()(提取字符串)函数使用方法

    pandas.str.extract()是pandas库中的一个函数,用于从每个字符串中提取匹配给定正则表达式的第一个匹配子串。 使用方法: pandas.str.extract(pat, flags=0, expand=True) 参数说明 pat:正则表达式的模式字符串 flags:re模块的匹配标志,如re.IGNORECASE、re.DOTALL等,…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.DataFrame.sort_values()(按值排序)函数使用方法

    pandas.DataFrame.sort_values()的作用:该函数用于对数据框中的数据按照某一列或多列进行排序。 语法:pandas.DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, ignore_index=False, key=None) 参数解释: by: 排序的列…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.map()(映射数值)函数使用方法

    pandas.map()函数的作用是对Series对象中的每一个元素都应用一个函数,并返回一个新的Series对象,其中新的Series对象的元素是原Series对象元素经过函数处理的结果。 使用方法: pandas.map(function, na_action=None) 参数说明: function:函数类型,对每个元素应用的函数。 na_action…

    Pandas函数大全 2023年3月22日
    00
合作推广
合作推广
分享本页
返回顶部