pandas.to_numeric
-
pandas.to_numeric(arg, errors='raise', downcast=None)[source] -
Преобразование аргумента к числовому типу.
Параметры: arg : список, кортеж, одномерный массив или Series
errors : {‘ignore’, ‘raise’, ‘coerce’}, по умолчанию ‘raise’
- Если ‘raise’, некорректное разбор вызовет исключение
- Если ‘coerce’, некорректное разбор будет приведено к NaN
- Если ‘ignore’, некорректное разбор вернёт входное значение
downcast : {‘integer’, ‘signed’, ‘unsigned’, ‘float’} , по умолчанию None
Если не None, и если данные были успешно преобразованы к числовому типу (или если данные изначально были числовыми), понизьте тип данных до наименьшего возможного числового типа в соответствии со следующими правилами:
- ‘integer’ или ‘signed’: наименьший тип данных со знаком int (мин.: np.int8)
- ‘unsigned’: наименьший тип данных без знака int (мин.: np.uint8)
- ‘float’: наименьший тип данных float (мин.: np.float32)
Поскольку это поведение отделено от основного преобразования в числовые значения, любые ошибки, возникшие во время понижения типа данных, будут отображаться независимо от значения входного параметра ‘errors’.
Кроме того, понижение типа данных произойдёт только в том случае, если размер типа данных результирующих данных строго больше, чем тип данных, к которому они должны быть преобразованы. Таким образом, если ни один из проверяемых типов данных не удовлетворяет этому условию, никаких понижений типов данных не будет произведено.
Новое в версии 0.19.0.
Возвращает: ret : числовое значение, если разбор прошёл успешно.
Тип возвращаемого значения зависит от входных данных. Series, если вход Series, в противном случае ndarray
См. также
-
pandas.DataFrame.astype - Преобразование аргумента к заданному типу данных.
-
pandas.to_datetime - Преобразование аргумента в дату и время.
-
pandas.to_timedelta - Преобразование аргумента в промежуток времени.
-
numpy.ndarray.astype - Преобразование массива numpy в указанный тип.
Примеры
Взять отдельные Series и преобразовать в числовые, с приведением к NaN, когда нужно
>>> import pandas as pd >>> 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.21.1/generated/pandas.to_numeric.html