Spec-Zone.ru › pandas 0.25

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

Spec-Zone.ru

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