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值,告诉你在切片过程中需要多少个字符。
返回类型: 带有切片子字符串的系列
在下面的例子中,所使用的数据框包含一些NBA球员的数据。下面是数据框在任何操作之前的图像。
示例 #1:
在这个例子中,工资列已经被切片,以获得小数点之前的数值。例如,我们想做一些数学运算,为此我们需要整数数据,所以工资列将被切片,直到最后第二个元素(-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:
在这个例子中,名字列被切片,步长参数被保留为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)
输出:
从输出图像中可以看出,”姓名 “被切片了,在切片过程中跳过了两个字符。