pandas.Series.astype
-
Series.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 : ключевые аргументы для передачи в конструктор
Возвращает: преобразованный : тип вызывающего объекта
См. также
-
pandas.to_datetime - Преобразование аргумента в дату и время.
-
pandas.to_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.21.1/generated/pandas.Series.astype.html