Python如何判斷字符串是否僅包含數字

  在用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 判斷字符串是否包含數字內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: