python findall用法_Python Pandas Series.str.findall()用法及代码示例

Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

Pandas str.findall()方法还用于在系列的每个字符串中查找子字符串或分隔符。但这不同于str.find()方法。它不返回索引,而是返回带有子字符串的list,并且list的大小是它发生的次数。

用法:Series.str.findall(pat, flags=0)

参数:

pat:要搜索的子字符串

flags:可以传递的正则表达式标志(A,S,L,M,I,X),默认值为0,表示无。对于此正则表达式模块(re)也必须导入。

返回类型:一系列列表(字符串)。

要下载代码中使用的CSV,请点击此处。在以下示例中,使用的 DataFrame 包含一些NBA球员的数据。下面是任何操作之前的数据帧图像。

范例1:搜索字符串中的字符

在此示例中,使用str.findall()方法在名称列中搜索“ r”,并将输出存储在新列中。在执行任何操作之前,请使用.dropna()删除空行以避免错误。

# importing pandas module

import pandas as pd

# making data frame

data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")

# removing null values to avoid errors

data.dropna(inplace = True)

# string to be searched for

search ='r'

# returning values and creating column

data["Findall(name)"]= data["Name"].str.findall(search)

# display

data.head(10)

输出:

如输出图像所示,可以比较返回的“ e”的数量等于它在字符串中出现的时间。

范例2:搜索字符并传递IGNORECASE标志

在此示例中,在“名称”列中搜索“ a”,并传递了IGNORECASE标志。为此,也必须导入模块。从str.findall()方法返回的序列存储在“新建”列中。

# importing pandas module

import pandas as pd

# importing regex module

import re

# making data frame

data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")

# removing null values to avoid errors

data.dropna(inplace = True)

# string to be searched for

search ='a'

# returning values and creating column

data["Findall(name)"]= data["Name"].str.findall(search, flags = re.I)

# display

data.head(10)

输出:

如输出图像所示,在第一行中可以看到,自从传递IGNORECASE标志(re.I)以来,都返回了“ A”和“ a”。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值