Skip to main content
`Ctrl`+`K`

# pandas.Series.str.isdigit

Series.str.isdigit()

  Check whether all characters in each string are digits.

  This is equivalent to running the Python string method `str.isdigit()` for each element of the Series/Index. If a string has zero characters, `False` is returned for that check.

  Returns:
    Series or Index of bool

      Series or Index of boolean values with the same length as the original Series/Index.

  See also

  `Series.str.isalpha`

    Check whether all characters are alphabetic.

  `Series.str.isnumeric`

    Check whether all characters are numeric.

  `Series.str.isalnum`

    Check whether all characters are alphanumeric.

  `Series.str.isdigit`

    Check whether all characters are digits.

  `Series.str.isdecimal`

    Check whether all characters are decimal.

  `Series.str.isspace`

    Check whether all characters are whitespace.

  `Series.str.islower`

    Check whether all characters are lowercase.

  `Series.str.isupper`

    Check whether all characters are uppercase.

  `Series.str.istitle`

    Check whether all characters are titlecase.

  Examples

  Checks for Alphabetic and Numeric Characters

      >>> s1 = pd.Series(['one', 'one1', '1', ''])

      >>> s1.str.isalpha()
      0     True
      1    False
      2    False
      3    False
      dtype: bool

      >>> s1.str.isnumeric()
      0    False
      1    False
      2     True
      3    False
      dtype: bool

      >>> s1.str.isalnum()
      0     True
      1     True
      2     True
      3    False
      dtype: bool

  Note that checks against characters mixed with any additional punctuation or whitespace will evaluate to false for an alphanumeric check.

      >>> s2 = pd.Series(['A B', '1.5', '3,000'])
      >>> s2.str.isalnum()
      0    False
      1    False
      2    False
      dtype: bool

  More Detailed Checks for Numeric Characters

  There are several different but overlapping sets of numeric characters that can be checked for.

      >>> s3 = pd.Series(['23', '³', '⅕', ''])

  The `s3.str.isdecimal` method checks for characters used to form numbers in base 10.

      >>> s3.str.isdecimal()
      0     True
      1    False
      2    False
      3    False
      dtype: bool

  The `s.str.isdigit` method is the same as `s3.str.isdecimal` but also includes special digits, like superscripted and subscripted digits in unicode.

      >>> s3.str.isdigit()
      0     True
      1     True
      2    False
      3    False
      dtype: bool

  The `s.str.isnumeric` method is the same as `s3.str.isdigit` but also includes other characters that can represent quantities such as unicode fractions.

      >>> s3.str.isnumeric()
      0     True
      1     True
      2     True
      3    False
      dtype: bool

  Checks for Whitespace

      >>> s4 = pd.Series([' ', '\t\r\n ', ''])
      >>> s4.str.isspace()
      0     True
      1     True
      2    False
      dtype: bool

  Checks for Character Case

      >>> s5 = pd.Series(['leopard', 'Golden Eagle', 'SNAKE', ''])

      >>> s5.str.islower()
      0     True
      1    False
      2    False
      3    False
      dtype: bool

      >>> s5.str.isupper()
      0    False
      1    False
      2     True
      3    False
      dtype: bool

  The `s5.str.istitle` method checks for whether all words are in title case (whether only the first letter of each word is capitalized). Words are assumed to be as any sequence of non-numeric characters separated by whitespace characters.

      >>> s5.str.istitle()
      0    False
      1     True
      2    False
      3    False
      dtype: bool