在用python进行数据处理的时候,经常会遇到dataframe中的某一列本应该是数值类型,但由于数据不规范导致在字段中夹杂了非数值类型。对于这种类型的数据,再进行处理的时候一般都需要先判断该列中的每一个值是否仅包含数字。常用的判断方法如下:

str.isdecimal()函数

作用:如果字符串中的所有字符都是十进制字符且该字符串至少有一个字符,则返回 true , 否则返回 false 。十进制字符指那些可以用来组成10进制数字的字符,例如 u+0660 ,即阿拉伯字母数字0 。

str.isdigit()函数

作用:如果字符串中的所有字符都是数字,并且至少有一个字符,返回 true ,否则返回 false 。 数字包括十进制字符和需要特殊处理的数字,如兼容性上标数字。这包括了不能用来组成 10 进制数的数字,如 kharosthi 数。 严格地讲,数字是指属性值为 numeric_type=digit 或 numeric_type=decimal 的字符。

str.isnumeric()函数

如果字符串中至少有一个字符且所有字符均为数值字符则返回 true ,否则返回 false 。 数值字符包括数字字符,以及所有在 unicode 中设置了数值特性属性的字符,例如 u+2155, vulgar fraction one fifth。 正式的定义为:数值字符就是具有特征属性值 numeric_type=digit, numeric_type=decimal 或 numeric_type=numeric 的字符。

示例:

另外,这三个函数不能识别字符’.’,所以这三个函数都无法判断浮点数转换来的字符串(这需要使用正则表达式)。

到此这篇关于python如何判断字符串是否仅包含数字的文章就介绍到这了,更多相关python 判断字符串是否包含数字内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!