pandas.to_numeric
-
pandas.to_numeric(arg, errors='raise', downcast=None)[source] -
Преобразовать аргумент в числовой тип.
По умолчанию возвращаемый тип данных —
float64илиint64в зависимости от предоставленных данных. Используйте параметрdowncastдля получения других типов данных.Параметры: -
arg : list, tuple, 1-d array, or Series -
errors : {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’ -
- Если ‘raise’, то некорректный парсинг вызовет исключение
- Если ‘coerce’, то некорректный парсинг будет задан как NaN
- Если ‘ignore’, то некорректный парсинг вернёт исходное значение
-
downcast : {‘integer’, ‘signed’, ‘unsigned’, ‘float’} , default None -
Если не равно None и данные успешно преобразованы в числовой тип (или если данные были числовыми изначально), понизить тип результата до наименьшего возможного числового типа в соответствии со следующими правилами:
- ‘integer’ или ‘signed’: наименьший знаковый целочисленный тип (мин.: np.int8)
- ‘unsigned’: наименьший беззнаковый целочисленный тип (мин.: np.uint8)
- ‘float’: наименьший тип с плавающей точкой (мин.: np.float32)
Поскольку это поведение отделено от основного преобразования в числовые значения, любые ошибки, возникающие во время понижения типа, будут отображаться независимо от значения входного параметра ‘errors’.
Кроме того, понижение типа будет выполняться только если размер типа данных результата строго больше, чем тип данных, в который он должен быть преобразован, поэтому если ни один из проверяемых типов данных не удовлетворяет этому условию, понижение типа данных не будет выполнено для данных.
Новое в версии 0.19.0.
Возвращает: -
ret : numeric if parsing succeeded. -
Тип возвращаемого значения зависит от входных данных. Series, если на входе Series, в противном случае ndarray
См. также
-
pandas.DataFrame.astype - Преобразовать аргумент в указанный тип данных.
-
pandas.to_datetime - Преобразовать аргумент в тип datetime.
-
pandas.to_timedelta - Преобразовать аргумент в тип timedelta.
-
numpy.ndarray.astype - Преобразовать массив NumPy в указанный тип.
Примеры
Взять отдельные Series и преобразовать в числовой тип, выполняя приведение при необходимости
>>> s = pd.Series(['1.0', '2', -3]) >>> pd.to_numeric(s) 0 1.0 1 2.0 2 -3.0 dtype: float64 >>> pd.to_numeric(s, downcast='float') 0 1.0 1 2.0 2 -3.0 dtype: float32 >>> pd.to_numeric(s, downcast='signed') 0 1 1 2 2 -3 dtype: int8 >>> s = pd.Series(['apple', '1.0', '2', -3]) >>> pd.to_numeric(s, errors='ignore') 0 apple 1 1.0 2 2 3 -3 dtype: object >>> pd.to_numeric(s, errors='coerce') 0 NaN 1 1.0 2 2.0 3 -3.0 dtype: float64
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.to_numeric.html