Python Pandas Series.str.isdecimal()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas isdecimal()用于检查一个字符串中的所有字符是否为十进制。这个方法的工作方式与str.isdigit()方法类似,但不同的是,后者对非ASCII数字的扩展性更强。这一点将在一个例子的帮助下得到澄清。
语法: Series.str.isdecimal()
返回类型: 布尔系列
示例 #1:
在这个例子中,一个新的数据框架被创建,只有一列,一些值被传递给它。然后对该列调用str.isdecimal()方法,输出结果返回到一个新的列Bool。
# importing pandas module
import pandas as pd
# creating data frame
data = pd.DataFrame(["hey", "gfg", 3, "4", 5, "5.5"])
# calling method and returning series
data["Bool"]= data[0].str.isdecimal()
# display
data
输出:
如输出图片所示,十进制对于字符串形式的小数值返回True。如果元素是int、float或除字符串以外的任何其他数据类型,则返回NaN(不管它是否是一个十进制数字)。
示例 #2:
在这个例子中,带幂的数字也被添加到该列。str isdigit()和str.isdecimal()都被调用,输出被储存在不同的列中,以比较两者的差异。
# importing pandas module
import pandas as pd
# creating data frame
data = pd.DataFrame(["hey", "gfg", 3, "4²", 5, "5.5", "129²"])
# calling method and returning series
data["Bool"]= data[0].str.isdecimal()
# calling method and returning series
data["Bool2"]= data[0].str.isdigit()
# display
data
输出:
如输出图片所示,isdigit()对有功率的数字返回True,但isdecimal()对这些值返回False。