当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas Series.str.slice()用法及代码示例


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

Pandas str.slice()方法用于从Pandas系列对象中存在的字符串中分割子字符串。它非常类似于Python在[start:stop:step]上进行切片的基本原理,这意味着它需要三个参数,即开始位置,结束位置和要跳过的元素数量。由于这是一个 Pandas 字符串方法,因此在每次调用此方法之前都必须给.str加上前缀。否则,将产生错误。

用法:Series.str.slice(start=None, stop=None, step=None)

参数:
start:int值,告诉从哪里开始切片
stop:int值,告诉在哪里结束切片
step:int值,指示切片期间要步进多少个字符

返回类型:切片子串系列

要下载代码中使用的CSV,请点击此处。

在以下示例中,使用的 DataFrame 包含一些NBA球员的数据。下面是任何操作之前的数据帧图像。


范例1:
在此示例中,salary列已被切片以获取小数点前的值。例如,我们想做一些数学运算,为此我们需要整数数据,因此,salary列将被切片直到倒数第二个元素(-2位置)。
由于薪水列是作为float64数据类型导入的,因此首先使用.astype()方法将其转换为字符串。

# 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)  
  
# start stop and step variables 
start, stop, step = 0, -2, 1
  
# converting to string data type 
data["Salary"]= data["Salary"].astype(str) 
  
# slicing till 2nd last element 
data["Salary (int)"]= data["Salary"].str.slice(start, stop, step) 
  
# display 
data.head(10)

输出:
如输出图像中所示,字符串已被切片,十进制之前的字符串存储在新列中。


注意:此方法没有任何参数可以处理空值,因此已使用.dropna()方法将其删除。

范例2:
在此示例中,将对name列进行切片,并保留step参数2。因此,在切片过程中它将步进两个字符。

# 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)  
  
# start stop and step variables 
start, stop, step = 0, -2, 2
  
# slicing till 2nd last element 
data["Name"]= data["Name"].str.slice(start, stop, step) 
  
# display 
data.head(10)

输出:
从输出图像中可以看出,切片时对Name进行了切片,并跳过了2个字符。



相关用法


注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas Series.str.slice()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。