Python如何判斷字符串是否僅包含數(shù)字
在用Python進(jìn)行數(shù)據(jù)處理的時候,經(jīng)常會遇到DataFrame中的某一列本應(yīng)該是數(shù)值類型,但由于數(shù)據(jù)不規(guī)范導(dǎo)致在字段中夾雜了非數(shù)值類型。對于這種類型的數(shù)據(jù),再進(jìn)行處理的時候一般都需要先判斷該列中的每一個值是否僅包含數(shù)字。常用的判斷方法如下:
str.isdecimal()函數(shù)
作用:如果字符串中的所有字符都是十進(jìn)制字符且該字符串至少有一個字符,則返回 True , 否則返回 False 。十進(jìn)制字符指那些可以用來組成10進(jìn)制數(shù)字的字符,例如 U+0660 ,即阿拉伯字母數(shù)字0 。
str.isdigit()函數(shù)
作用:如果字符串中的所有字符都是數(shù)字,并且至少有一個字符,返回 True ,否則返回 False 。 數(shù)字包括十進(jìn)制字符和需要特殊處理的數(shù)字,如兼容性上標(biāo)數(shù)字。這包括了不能用來組成 10 進(jìn)制數(shù)的數(shù)字,如 Kharosthi 數(shù)。 嚴(yán)格地講,數(shù)字是指屬性值為 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。
str.isnumeric()函數(shù)
如果字符串中至少有一個字符且所有字符均為數(shù)值字符則返回 True ,否則返回 False 。 數(shù)值字符包括數(shù)字字符,以及所有在 Unicode 中設(shè)置了數(shù)值特性屬性的字符,例如 U+2155, VULGAR FRACTION ONE FIFTH。 正式的定義為:數(shù)值字符就是具有特征屬性值 Numeric_Type=Digit, Numeric_Type=Decimal 或 Numeric_Type=Numeric 的字符。
示例:

另外,這三個函數(shù)不能識別字符’.’,所以這三個函數(shù)都無法判斷浮點數(shù)轉(zhuǎn)換來的字符串(這需要使用正則表達(dá)式)。
到此這篇關(guān)于Python如何判斷字符串是否僅包含數(shù)字的文章就介紹到這了,更多相關(guān)Python 判斷字符串是否包含數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python標(biāo)準(zhǔn)庫06之子進(jìn)程 (subprocess包) 詳解
本篇文章主要介紹了Python標(biāo)準(zhǔn)庫06之子進(jìn)程 (subprocess包) 詳解,具有一定的參考價值,有興趣的同學(xué)可以了解一下。2016-12-12
linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件
這篇文章主要介紹了linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01

