Python| Pandas Series.str.strip()、lstrip() 和 rstrip()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas是使导入和分析数据变得更加容易的软件包之一。
Pandas提供了 3 种方法来处理任何文本数据中的空格(包括换行符)。从名称中可以看出, str.lstrip()
用于从字符串的左侧删除空格, str.rstrip()
从字符串的右侧删除空格, str.strip()
从两者中删除空格双方。由于这些是与 Python 的默认函数同名的 pandas函数,因此必须添加前缀.str以告诉编译器正在调用 Pandas函数。
Syntax: Series.str.strip()
Return Type: Series with removed spaces
要下载代码中使用的 CSV,请单击此处。
在以下示例中,使用的数据框包含一些 NBA 球员的数据。由于数据框中的值都没有任何额外的空格,因此使用 str.replace() 方法在某些元素中添加了空格。任何操作之前的数据帧图像如下所示。
示例 #1:使用 lstrip()
在此示例中,创建了一个类似于 Team 列的新系列,在字符串的开头和结尾都有 2 个空格。之后,应用str.lstrip()
方法并检查已删除左侧空格的自定义字符串。
# importing pandas module
import pandas as pd
# making data frame
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# replacing team name and adding spaces in start and end
new = data["Team"].replace("Boston Celtics", " Boston Celtics ").copy()
# checking with custom removed space string
new.str.lstrip()=="Boston Celtics "
输出:
如输出图像所示,去除左侧空格后比较为真。
示例 #2:使用 strip()
在此示例中, str.strip()
方法用于从字符串的左侧和右侧删除空格。将创建 Team 列的新副本,在开始和结束处都有 2 个空格。然后在该系列上调用str.strip()
方法。之后,将其与“波士顿凯尔特人队”、“波士顿凯尔特人队”和“波士顿凯尔特人队”进行比较,检查是否从两侧移除了空格。
# importing pandas module
import pandas as pd
# making data frame
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# replacing team name and adding spaces in start and end
new = data["Team"].replace("Boston Celtics", " Boston Celtics ").copy()
# checking with custom string
new.str.strip()==" Boston Celtic"
new.str.strip()=="Boston Celtics "
new.str.strip()==" Boston Celtic "
输出:
如输出图像所示,对于所有 3 个条件,比较都返回 False,这意味着空格已成功从两侧删除,并且字符串不再包含空格。
示例 #3:使用 rstrip()
在此示例中,创建了一个类似于 Team 列的新系列,在字符串的开头和结尾都有 2 个空格。之后,应用str.rstrip()
方法并针对删除了右侧空格的自定义字符串进行检查。
# importing pandas module
import pandas as pd
# making data frame
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# replacing team name and adding spaces in start and end
new = data["Team"].replace("Boston Celtics", " Boston Celtics ").copy()
# checking with custom removed space string
new.str.rstrip()==" Boston Celtics"
输出:
如输出图像所示,去除右侧空格后比较为真。