Spec-Zone.ru › pandas 2

pandas.to_numeric

pandas.to_numeric(arg, errors='raise', downcast=None, dtype_backend=_NoDefault.no_default)[source]

Преобразовать аргумент в числовой тип.

Значение по умолчанию для возвращаемого типа — float64 или int64, в зависимости от предоставленных данных. Используйте параметр downcast для получения других типов.

Обратите внимание, что может произойти потеря точности, если переданы очень большие числа. Из-за внутренних ограничений ndarray, если переданы числа меньше -9223372036854775808 (np.iinfo(np.int64).min) или больше 18446744073709551615 (np.iinfo(np.uint64).max), есть большая вероятность, что они будут преобразованы в float, чтобы их можно было сохранить в ndarray. Эти предупреждения аналогичным образом применяются к Series, поскольку она внутренне использует ndarray.

Параметры:
arg:скаляр, список, кортеж, 1-мерный массив или Series

Аргумент, который нужно преобразовать.

errors:{‘ignore’, ‘raise’, ‘coerce’}, по умолчанию ‘raise’
  • Если ‘raise’, при некорректном разборе будет возбуждено исключение.

  • Если ‘coerce’, при некорректном разборе будет установлено значение NaN.

  • Если ‘ignore’, при некорректном разборе будет возвращен исходный элемент.

Изменено в версии 2.2.

“ignore” устарело. Вместо этого следует явно обрабатывать исключения.

downcast:строка, по умолчанию None

Может быть ‘integer’, ‘signed’, ‘unsigned’ или ‘float’. Если не None и если данные успешно преобразованы в числовой тип (или если данные изначально были числовыми), то эти данные будут приведены к наименьшему возможному числовому типу по следующим правилам:

  • ‘integer’ или ‘signed’: наименьший знаковый целочисленный тип (мин.: np.int8)

  • ‘unsigned’: наименьший беззнаковый целочисленный тип (мин.: np.uint8)

  • ‘float’: наименьший тип с плавающей запятой (мин.: np.float32)

Поскольку это поведение отделено от основного преобразования в числовые значения, любые ошибки, возникающие при приведении к типу, будут отображаться независимо от значения входного параметра ‘errors’.

Кроме того, приведение к типу произойдёт только в том случае, если размер типа результирующих данных строго больше типа, к которому данные будут приведены. Таким образом, если ни один из проверенных типов не удовлетворяет этому условию, приведение к типу не будет выполнено.

dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, по умолчанию ‘numpy_nullable’

Применяемый к результирующему DataFrame тип данных (пока экспериментально). Поведение следующее:

  • "numpy_nullable": возвращает DataFrame с nullable-типом (по умолчанию).

  • "pyarrow": возвращает DataFrame с nullable ArrowDtype на основе pyarrow.

Введено в версии 2.0.

Возвращаемое значение:
ret

Числовое значение, если разбор прошёл успешно. Тип возвращаемого значения зависит от входных данных. Series, если вход был Series, в противном случае ndarray.

См. также

DataFrame.astype

Приведение аргумента к указанному типу.

to_datetime

Преобразование аргумента в datetime.

to_timedelta

Преобразование аргумента в timedelta.

numpy.ndarray.astype

Приведение массива numpy к указанному типу.

DataFrame.convert_dtypes

Преобразование типов данных.

Примеры

Взять отдельные 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='coerce')
0    NaN
1    1.0
2    2.0
3   -3.0
dtype: float64

Поддерживается приведение к типу nullable integer и floating:

>>> s = pd.Series([1, 2, 3], dtype="Int64")
>>> pd.to_numeric(s, downcast="integer")
0    1
1    2
2    3
dtype: Int8
>>> s = pd.Series([1.0, 2.1, 3.0], dtype="Float64")
>>> pd.to_numeric(s, downcast="float")
0    1.0
1    2.1
2    3.0
dtype: Float32

© 2008–2022, 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/2.2.2/reference/api/pandas.to_numeric.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API