From 42632c10d8cc4d0095739edd26a355b187316b5a Mon Sep 17 00:00:00 2001 From: Akshay Jain Date: Tue, 18 Feb 2025 21:22:54 -0800 Subject: [PATCH] Improve examples for Series.str.isnumeric shared docstring to include fraction, decimals, negatives and exponents --- pandas/core/strings/accessor.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pandas/core/strings/accessor.py b/pandas/core/strings/accessor.py index 75fbd642c3520..74401a25206ad 100644 --- a/pandas/core/strings/accessor.py +++ b/pandas/core/strings/accessor.py @@ -3549,12 +3549,29 @@ def casefold(self): also includes other characters that can represent quantities such as unicode fractions. - >>> s1 = pd.Series(['one', 'one1', '1', '']) + >>> s1 = pd.Series(['one', 'one1', '1', '', '³', '⅕']) >>> s1.str.isnumeric() 0 False 1 False 2 True 3 False + 4 True + 5 True + dtype: bool + + For a string to be considered numeric, all its characters must have a Unicode + numeric property. As a consequence, the following cases are **not** recognized + as numeric: + + - **Decimal numbers** (e.g., "1.1"): due to period ``"."`` + - **Negative numbers** (e.g., "-5"): due to minus sign ``"-"`` + - **Scientific notation** (e.g., "1e3"): due to characters like ``"e"`` + + >>> s2 = pd.Series(["1.1", "-5", "1e3"]) + >>> s2.str.isnumeric() + 0 False + 1 False + 2 False dtype: bool """ _shared_docs["isalnum"] = """