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