Python|熊猫系列.str.slice()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas 就是其中之一,它使导入和分析数据变得更加容易。
Pandas str.slice()
方法用于从 Pandas 系列对象中存在的字符串中分割子字符串。它与 Python 在 [start:stop:step] 上工作的切片对象的基本原理非常相似,这意味着它需要三个参数,从哪里开始,从哪里结束以及要跳过多少元素。
由于这是一个 pandas字符串方法,因此每次调用此方法之前都必须添加.str前缀。否则,它会给出错误。
Syntax: Series.str.slice(start=None, stop=None, step=None)
Parameters:
start: int value, tells where to start slicing
stop: int value, tells where to end slicing
step: int value, tells how much characters to step during slicing
Return type: Series with sliced substrings
要下载代码中使用的 CSV,请单击此处。
在以下示例中,使用的数据框包含一些 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)
输出:
从输出图像中可以看出,名称被切片,切片过程中跳过了 2 个字符。