Spec-Zone.ru › pandas 0.22

pandas.DataFrame.astype

DataFrame.astype(dtype, copy=True, errors='raise', **kwargs) [source]

Преобразование объекта pandas к указанному типу dtype.

Параметры:

dtype : тип данных или словарь имя_колонки -> тип_данных

Используйте numpy.dtype или Python-тип для преобразования всего объекта pandas к одному типу. В качестве альтернативы используйте {колонка: тип_данных, ...}, где колонка — имя колонки, а тип_данных — numpy.dtype или Python-тип для преобразования одной или нескольких колонок DataFrame к определённым типам.

copy : bool, по умолчанию True.

Возвращает копию, когда copy=True (будьте очень осторожны, устанавливая copy=False , так как изменения значений могут затем распространиться на другие объекты pandas).

errors : {‘raise’, ‘ignore’}, по умолчанию ‘raise’.

Управление поднятием исключений при некорректных данных для предоставленного типа.

  • raise : разрешить поднятие исключений
  • ignore : подавить исключения. В случае ошибки возвратить исходный объект

Новое в версии 0.20.0.

raise_on_error : поднять исключение при некорректном вводе

Устарело начиная с версии 0.20.0: Используйте errors вместо этого

kwargs : ключевые аргументы для передачи конструктору

Возвращает:

casted : тип вызывающего объекта

См. также

pandas.to_datetime
Преобразовать аргумент в datetime.
pandas.to_timedelta
Преобразовать аргумент в timedelta.
pandas.to_numeric
Преобразовать аргумент в числовой тип.
numpy.ndarray.astype
Преобразовать массив NumPy в указанный тип.

Примеры

>>> ser = pd.Series([1, 2], dtype='int32')
>>> ser
0    1
1    2
dtype: int32
>>> ser.astype('int64')
0    1
1    2
dtype: int64

Преобразование в категориальный тип:

>>> ser.astype('category')
0    1
1    2
dtype: category
Categories (2, int64): [1, 2]

Преобразование в упорядоченный категориальный тип с пользовательским порядком:

>>> ser.astype('category', ordered=True, categories=[2, 1])
0    1
1    2
dtype: category
Categories (2, int64): [2 < 1]

Обратите внимание, что использование copy=False и изменение данных в новом объекте pandas может распространять изменения:

>>> s1 = pd.Series([1,2])
>>> s2 = s1.astype('int', copy=False)
>>> s2[0] = 10
>>> s1  # note that s1[0] has changed too
0    10
1     2
dtype: int64

© 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.22.0/generated/pandas.DataFrame.astype.html

Spec-Zone.ru

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