pandas.to_numeric
-
pandas.to_numeric(arg, errors='raise', downcast=None)[source] -
Преобразовать аргумент в числовой тип.
Значение по умолчанию для типа возвращаемых данных —
float64илиint64в зависимости от предоставленных данных. Используйте параметрdowncast, чтобы получить другие типы.Обратите внимание, что может произойти потеря точности, если переданы очень большие числа. Из-за внутренних ограничений
ndarray, если переданы числа меньше-9223372036854775808(np.iinfo(np.int64).min) или больше18446744073709551615(np.iinfo(np.uint64).max), велика вероятность их преобразования в float для хранения вndarray. Эти предупреждения аналогично относятся кSeries, так как она используетndarrayвнутри.Параметры: -
arg : scalar, 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.
См. также
-
DataFrame.astype - Приведение аргумента к указанному типу.
-
to_datetime - Преобразование аргумента в дату и время.
-
to_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.25.0/reference/api/pandas.to_numeric.html