Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。
Pandas str.isdigit()方法用于检查序列中每个字符串中的所有字符是否都是数字。字符串中出现空格或任何其他字符将返回false。如果数字为小数,则将返回false,因为这是一个字符串方法,而“。”是一个特殊字符,而不是字符串中的小数。
用法:Series.str.isdigit()
返回类型:布尔序列,根据调用者序列的不同,可能还包含Null值。
要下载代码中使用的CSV,请点击此处。
在以下示例中,使用的 DataFrame 包含一些NBA球员的数据。下面是任何操作之前的数据帧图像。
例:
在本示例中,.isdigit()方法应用于“年龄”列。在执行任何操作之前,使用删除空行.dropna(),以免出错。
由于Age列是作为Float dtype导入的,因此首先使用.astype()方法。在那之后isdigit()会被应用两次,首先是在原始系列上,然后是使用str.replace()删除特殊字符后查看输出的方法。
# 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)
# converting dtype to string
data["Age"]= data["Age"].astype(str)
# removing '.'
data["Age new"]= data["Age"].str.replace(".", "")
# creating bool series with original column
data["bool_series1"]= data["Age"].str.isdigit()
# creating bool series with new column
data["bool_series2"]= data["Age new"].str.isdigit()
# display
data.head(10)
输出:
如输出图像所示,布尔串为假,直到字符串中存在小数为止。删除后,新系列的所有值都为True。