Spec-Zone.ru › pandas 2

pandas.DataFrame.astype

DataFrame.astype(dtype, copy=None, errors='raise')[source]

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

Параметры:
dtype:str, тип данных, Series или отображение имени столбца -> тип данных

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

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

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

Примечание

Ключевое слово copy изменит поведение в pandas 3.0. Copy-on-Write будет включено по умолчанию, что означает, что все методы с ключевым словом copy будут использовать механизм ленивой копии для отсрочки копии и игнорирования ключевого слова copy. Ключевое слово copy будет удалено в будущей версии pandas.

Вы уже можете получить будущее поведение и улучшения, включив копирование при записи pd.options.mode.copy_on_write = True

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

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

  • raise : разрешить повышение исключений

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

Возвращает:
тип, совпадающий с вызывающим объектом

См. также

to_datetime

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

to_timedelta

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

to_numeric

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

numpy.ndarray.astype

Преобразовать массив numpy в указанный тип.

Примечания

Изменено в версии 2.0.0: Использование astype для преобразования из типа без часового пояса в тип с часовым поясом приведет к ошибке. Используйте Series.dt.tz_localize() вместо этого.

Примеры

Создайте DataFrame:

>>> d = {'col1': [1, 2], 'col2': [3, 4]}
>>> df = pd.DataFrame(data=d)
>>> df.dtypes
col1    int64
col2    int64
dtype: object

Преобразуйте все столбцы в int32:

>>> df.astype('int32').dtypes
col1    int32
col2    int32
dtype: object

Преобразуйте столбец col1 в int32 с помощью словаря:

>>> df.astype({'col1': 'int32'}).dtypes
col1    int32
col2    int64
dtype: object

Создайте серию:

>>> 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, int32): [1, 2]

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

>>> from pandas.api.types import CategoricalDtype
>>> cat_dtype = CategoricalDtype(
...     categories=[2, 1], ordered=True)
>>> ser.astype(cat_dtype)
0    1
1    2
dtype: category
Categories (2, int64): [2 < 1]

Создайте серию дат:

>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))
>>> ser_date
0   2020-01-01
1   2020-01-02
2   2020-01-03
dtype: datetime64[ns]

© 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.DataFrame.astype.html

Spec-Zone.ru

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