Метод isdecimal
Метод isdecimal применяется к серии Pandas через аксессор str
и проверяет, содержат ли строки только десятичные цифры.
Десятичные цифры - это цифры от 0 до 9, используемые в десятичной системе счисления.
Метод возвращает серию булевых значений True для строк, состоящих только из десятичных цифр,
и False в противном случае. Для пустых строк и значений NaN возвращается False.
Синтаксис
ser.str.isdecimal()
Пример
Проверим строки на содержание десятичных цифр:
import pandas as pd
ser = pd.Series(['123', '456', '789'])
res = ser.str.isdecimal()
print(res)
Результат выполнения кода:
0 True
1 True
2 True
dtype: bool
Пример
Рассмотрим строки с разными символами:
import pandas as pd
ser = pd.Series(['123', 'abc', '12.3', '1a2', ''])
res = ser.str.isdecimal()
print(res)
Результат выполнения кода:
0 True
1 False
2 False
3 False
4 False
dtype: bool
Пример
Проверим строки с символами из других систем счисления:
import pandas as pd
ser = pd.Series(['123', '①②③', '一二三', 'Ⅳ', '५६७'])
res = ser.str.isdecimal()
print(res)
Результат выполнения кода:
0 True
1 False
2 False
3 False
4 False
dtype: bool
Метод isdecimal определяет десятичные цифры строго - только символы от 0 до 9.
Цифры в кружочках, индийские цифры и римские цифры не считаются десятичными.
Пример
Используем метод вместе с фильтрацией:
import pandas as pd
ser = pd.Series(['123', 'abc', '456', 'def', '789'])
only_digits = ser[ser.str.isdecimal()]
print(only_digits)
Результат выполнения кода:
0 123
2 456
4 789
dtype: object