Spec-Zone.ru › pandas 1

pandas массивы, скаляры и типы данных

Объекты

Для большинства типов данных pandas использует массивы NumPy в качестве конкретных объектов, содержащихся в Index, Series или DataFrame.

Для некоторых типов данных pandas расширяет систему типов NumPy. Псевдонимы строк для этих типов можно найти в типах данных.

Тип данных

Тип данных pandas

Скаляр

Массив

Дата и время с учетом часового пояса

DatetimeTZDtype

Timestamp

Даты и время

Длительности

(нет)

Timedelta

Длительности

Периоды (промежутки времени)

PeriodDtype

Period

Периоды

Интервалы

IntervalDtype

Interval

Интервалы

Целые числа с возможными значениями NULL

Int64Dtype, …

(нет)

Целые числа с возможными значениями NULL

Категории

CategoricalDtype

(нет)

Категории

Разреженные

SparseDtype

(нет)

Разреженные

Строки

StringDtype

str

Строки

Булевы (с возможностью NULL)

BooleanDtype

bool

Булевы с возможностью NULL

PyArrow

ArrowDtype

Python-скаляры или NA

PyArrow

pandas и сторонние библиотеки могут расширять систему типов NumPy (см. расширенные типы). Метод верхнего уровня array() может использоваться для создания нового массива, который может храниться в Series, Index или в качестве столбца в DataFrame.

array(data[, dtype, copy])

Создать массив.

PyArrow

Предупреждение

Эта функция находится в стадии разработки, и API может измениться в будущих версиях без предупреждения.

Тип arrays.ArrowExtensionArray поддерживается pyarrow.ChunkedArray с pyarrow.DataType вместо массива NumPy и типа данных. Тип arrays.ArrowExtensionArray является ArrowDtype.

Pyarrow предоставляет поддержку массивов и типов данных, аналогичных NumPy, включая поддержку возможности NULL для всех типов данных, неизменяемость и многое другое.

Примечание

Для строковых типов (pyarrow.string(), string[pyarrow]) поддержка PyArrow по-прежнему обеспечивается arrays.ArrowStringArray и StringDtype("pyarrow"). См. раздел строки ниже.

Хотя отдельные значения в arrays.ArrowExtensionArray хранятся как объекты PyArrow, скаляры возвращаются как Python-скаляры, соответствующие типу данных, например, PyArrow int64 возвращается как Python int, или NA для пропущенных значений.

arrays.ArrowExtensionArray(values)

Pandas ExtensionArray, основанный на PyArrow ChunkedArray.

ArrowDtype(pyarrow_dtype)

ExtensionDtype для типов данных PyArrow.

Даты и время

NumPy не может напрямую представлять даты и время с учётом часового пояса. pandas поддерживает это с помощью расширения массива arrays.DatetimeArray, которое может хранить значения без учёта часового пояса или с учётом.

Timestamp, подкласс datetime.datetime, является скалярным типом pandas для данных даты и времени без учёта часового пояса или с учётом.

Timestamp([ts_input, freq, tz, unit, year, ...])

Замена объекта python datetime.datetime в pandas.

Свойства

Timestamp.asm8

Возвращает формат numpy datetime64 в наносекундах.

Timestamp.day

Timestamp.dayofweek

Возвращает день недели.

Timestamp.day_of_week

Возвращает день недели.

Timestamp.dayofyear

Возвращает день года.

Timestamp.day_of_year

Возвращает день года.

Timestamp.days_in_month

Возвращает количество дней в месяце.

Timestamp.daysinmonth

Возвращает количество дней в месяце.

Timestamp.fold

Timestamp.hour

Timestamp.is_leap_year

Возвращает True, если год високосный.

Timestamp.is_month_end

Возвращает True, если дата - последний день месяца.

Timestamp.is_month_start

Возвращает True, если дата - первый день месяца.

Timestamp.is_quarter_end

Возвращает True, если дата - последний день квартала.

Timestamp.is_quarter_start

Возвращает True, если дата - первый день квартала.

Timestamp.is_year_end

Возвращает True, если дата - последний день года.

Timestamp.is_year_start

Возвращает True, если дата - первый день года.

Timestamp.max

Timestamp.microsecond

Timestamp.min

Timestamp.minute

Timestamp.month

Timestamp.nanosecond

Timestamp.quarter

Возвращает квартал года.

Timestamp.resolution

Timestamp.second

Timestamp.tz

Псевдоним для tzinfo.

Timestamp.tzinfo

Timestamp.value

Timestamp.week

Возвращает номер недели года.

Timestamp.weekofyear

Возвращает номер недели года.

Timestamp.year

Методы

Timestamp.astimezone(tz)

Преобразование временной метки с учётом часового пояса в другой часовой пояс.

Timestamp.ceil(freq[, ambiguous, nonexistent])

Возвращает новую временную метку, округлённую до заданного разрешения.

Timestamp.combine(date, time)

Объединяет дату и время в datetime с теми же полями даты и времени.

Timestamp.ctime

Возвращает строку в формате ctime().

Timestamp.date

Возвращает объект date с тем же годом, месяцем и днём.

Timestamp.day_name

Возвращает имя дня недели временной метки с указанным языковым стандартом.

Timestamp.dst

Возвращает self.tzinfo.dst(self).

Timestamp.floor(freq[, ambiguous, nonexistent])

Возвращает новую временную метку, округлённую вниз до заданного разрешения.

Timestamp.freq

Timestamp.freqstr

Возвращает общее количество дней в месяце.

Timestamp.fromordinal(ordinal[, freq, tz])

Конструирует временную метку из пролептического григорианского порядкового номера.

Timestamp.fromtimestamp(ts)

Преобразует метку времени [, tz] в локальное время tz из POSIX-метки.

Timestamp.isocalendar

Возвращает кортеж из 3 элементов: год по ISO, номер недели и день недели.

Timestamp.isoformat

Возвращает отформатированную строку времени согласно ISO 8610.

Timestamp.isoweekday()

Возвращает день недели, представленный датой.

Timestamp.month_name

Возвращает имя месяца временной метки с указанным языковым стандартом.

Timestamp.normalize

Нормализует временную метку до полуночи, сохраняя информацию о часовом поясе.

Timestamp.now([tz])

Возвращает новый объект Timestamp, представляющий текущее время в локальном часовом поясе tz.

Timestamp.replace([year, month, day, hour, ...])

Реализует datetime.replace, обрабатывает наносекунды.

Timestamp.round(freq[, ambiguous, nonexistent])

Округляет временную метку до указанного разрешения.

Timestamp.strftime(format)

Возвращает отформатированную строку временной метки.

Timestamp.strptime(string, format)

Функция не реализована.

Timestamp.time

Возвращает объект time с тем же временем, но с tzinfo=None.

Timestamp.timestamp

Возвращает POSIX-метку времени в виде числа с плавающей точкой.

Timestamp.timetuple

Возвращает кортеж времени, совместимый с time.localtime().

Timestamp.timetz

Возвращает объект time с тем же временем и tzinfo.

Timestamp.to_datetime64

Возвращает объект numpy.datetime64 с точностью 'ns'.

Timestamp.to_numpy

Преобразует Timestamp в NumPy datetime64.

Timestamp.to_julian_date()

Преобразует временную метку в юлианскую дату.

Timestamp.to_period

Возвращает период, к которому относится эта временная метка.

Timestamp.to_pydatetime

Преобразует объект Timestamp в объект datetime Python.

Timestamp.today([tz])

Возвращает текущее время в локальном часовом поясе.

Timestamp.toordinal

Возвращает пролептический григорианский порядковый номер.

Timestamp.tz_convert(tz)

Преобразует временную метку с учётом часового пояса в другой часовой пояс.

Timestamp.tz_localize(tz[, ambiguous, ...])

Локализует временную метку в часовой пояс.

Timestamp.tzname

Возвращает self.tzinfo.tzname(self).

Timestamp.utcfromtimestamp(ts)

Конструирует неопределённую временную метку UTC из POSIX-метки времени.

Timestamp.utcnow()

Возвращает новую временную метку, представляющую текущее время по UTC.

Timestamp.utcoffset

Возвращает self.tzinfo.utcoffset(self).

Timestamp.utctimetuple

Возвращает кортеж UTC-времени, совместимый с time.localtime().

Timestamp.weekday()

Возвращает день недели, представленный датой.

Коллекция временных меток может храниться в arrays.DatetimeArray. Для данных с учётом часового пояса, .dtype объекта arrays.DatetimeArray — DatetimeTZDtype. Для данных без часового пояса используется np.dtype("datetime64[ns]").

Если данные с учётом часового пояса, то каждое значение в массиве должно иметь один и тот же часовой пояс.

arrays.DatetimeArray(values[, dtype, freq, copy])

Pandas ExtensionArray для данных datetime без или с учётом часового пояса.

DatetimeTZDtype([unit, tz])

Тип данных ExtensionDtype для данных datetime с учётом часового пояса.

Timedeltas

NumPy может напрямую представлять timedeltas. pandas предоставляет Timedelta для симметрии с Timestamp.

Timedelta([value, unit])

Представляет продолжительность, разницу между двумя датами или временем.

Свойства

Timedelta.asm8

Возвращает представление массива numpy timedelta64 как скаляр.

Timedelta.components

Возвращает кортеж компонентов.

Timedelta.days

Timedelta.delta

(УСТЕРЕЖДЁННО) Возвращает продолжительность в наносекундах (нс), для внутренней совместимости.

Timedelta.freq

(УСТЕРЕЖДЁННО) Свойство freq.

Timedelta.is_populated

(УСТЕРЕЖДЁННО) Свойство is_populated.

Timedelta.max

Timedelta.microseconds

Timedelta.min

Timedelta.nanoseconds

Возвращает количество наносекунд (n), где 0 <= n < 1 микросекунда.

Timedelta.resolution

Timedelta.seconds

Timedelta.value

Timedelta.view

Совместимость с видами массивов.

Методы

Timedelta.ceil(freq)

Возвращает новый Timedelta, округлённый до указанного разрешения.

Timedelta.floor(freq)

Возвращает новый Timedelta, округленный вниз до указанного разрешения.

Timedelta.isoformat

Форматирует Timedelta в формате ISO 8601 Duration.

Timedelta.round(freq)

Округляет Timedelta до указанного разрешения.

Timedelta.to_pytimedelta

Преобразует объект pandas Timedelta в объект python datetime.timedelta.

Timedelta.to_timedelta64

Возвращает объект numpy.timedelta64 с точностью 'ns'.

Timedelta.to_numpy

Преобразует Timedelta в NumPy timedelta64.

Timedelta.total_seconds

Полные секунды в продолжительности.

Коллекция Timedelta может храниться в TimedeltaArray.

arrays.TimedeltaArray(values[, dtype, freq, ...])

Pandas ExtensionArray для данных timedelta.

Периоды

pandas представляет промежутки времени как объекты Period.

Период

Period([value, freq, ordinal, year, month, ...])

Представляет период времени.

Свойства

Period.day

Получить день месяца, на который выпадает период.

Period.dayofweek

День недели, в который попадает период, где понедельник=0, а воскресенье=6.

Period.day_of_week

День недели, в который попадает период, где понедельник=0, а воскресенье=6.

Period.dayofyear

Возвращает день года.

Period.day_of_year

Возвращает день года.

Period.days_in_month

Получить общее количество дней в месяце, на который выпадает данный период.

Period.daysinmonth

Получить общее количество дней в месяце, на который выпадает данный период.

Period.end_time

Получить объект Timestamp для конца периода.

Period.freq

Period.freqstr

Возвращает строковое представление частоты.

Period.hour

Получить час периода.

Period.is_leap_year

Возвращает True, если год периода високосный.

Period.minute

Получить минуту периода.

Period.month

Возвращает месяц периода.

Period.ordinal

Period.quarter

Возвращает квартал периода.

Period.qyear

Финансовый год, в который попадает период, согласно начальному кварталу.

Period.second

Получить секунды периода.

Period.start_time

Получить объект Timestamp для начала периода.

Period.week

Получить номер недели года для данного периода.

Period.weekday

День недели, в который попадает период, где понедельник=0, а воскресенье=6.

Period.weekofyear

Получить номер недели года для данного периода.

Period.year

Возвращает год периода.

Методы

Period.asfreq

Преобразовать Period к заданной частоте в начале или конце интервала.

Period.now

Возвращает текущий период.

Period.strftime

Возвращает отформатированную строку представления Period.

Period.to_timestamp

Возвращает представление Period в формате Timestamp.

Коллекция Period может храниться в arrays.PeriodArray. Каждый период в arrays.PeriodArray должен иметь одинаковую freq.

arrays.PeriodArray(values[, dtype, freq, copy])

Расширенный массив Pandas для хранения данных Period.

PeriodDtype([freq])

Тип данных ExtensionDtype для данных Period.

Интервалы

Произвольные интервалы могут быть представлены как объекты Interval.

Interval

Неизменяемый объект, реализующий интервал, ограниченный срез-подобный интервал.

Свойства

Interval.closed

Строка, описывающая включительную сторону интервалов.

Interval.closed_left

Проверка, является ли интервал закрытым слева.

Interval.closed_right

Проверка, является ли интервал закрытым справа.

Interval.is_empty

Указывает, является ли интервал пустым, то есть не содержит никаких точек.

Interval.left

Левая граница интервала.

Interval.length

Возвращает длину интервала.

Interval.mid

Возвращает середину интервала.

Interval.open_left

Проверка, является ли интервал открытым слева.

Interval.open_right

Проверка, является ли интервал открытым справа.

Interval.overlaps

Проверка перекрытия двух объектов Interval.

Interval.right

Правая граница интервала.

Коллекция интервалов может быть хранима в arrays.IntervalArray.

arrays.IntervalArray(data[, closed, dtype, ...])

Массив Pandas для данных интервалов, которые закрыты с одной и той же стороны.

IntervalDtype([subtype, closed])

Тип расширения для данных интервала.

Целые числа с возможными пропущенными значениями

numpy.ndarray не может напрямую представлять целочисленные данные с пропущенными значениями. pandas предоставляет это через arrays.IntegerArray.

arrays.IntegerArray(values, mask[, copy])

Массив целых чисел (с возможными пропущенными значениями).

Int8Dtype()

Тип расширения для целочисленных данных int8.

Int16Dtype()

Тип расширения для целочисленных данных int16.

Int32Dtype()

Тип расширения для целочисленных данных int32.

Int64Dtype()

Тип расширения для целочисленных данных int64.

UInt8Dtype()

Тип расширения для целочисленных данных uint8.

UInt16Dtype()

Тип расширения для целочисленных данных uint16.

UInt32Dtype()

Тип расширения для целочисленных данных uint32.

UInt64Dtype()

Тип расширения для целочисленных данных uint64.

Категориальные

pandas определяет пользовательский тип данных для представления данных, которые могут принимать только ограниченный, фиксированный набор значений. Тип данных Categorical можно описать с помощью CategoricalDtype.

CategoricalDtype([categories, ordered])

Тип для категориальных данных с категориями и упорядоченностью.

CategoricalDtype.categories

Массив Index, содержащий уникальные разрешенные категории.

CategoricalDtype.ordered

Указывают, существует ли упорядоченное отношение между категориями.

Категориальные данные могут храниться в pandas.Categorical

Categorical(values[, categories, ordered, ...])

Представляет категориальную переменную в стиле классического R / S-plus.

Альтернативный конструктор Categorical.from_codes() можно использовать, если у вас уже есть категории и целочисленные коды:

Categorical.from_codes(codes[, categories, ...])

Создаёт тип Categorical из кодов и категорий или типа данных.

Информация о типе данных доступна в Categorical

Categorical.dtype

Тип данных для этого экземпляра.

Categorical.categories

Категории данного категориального типа.

Categorical.ordered

Указывают, существует ли упорядоченное отношение между категориями.

Categorical.codes

Коды категорий данного категориального типа.

np.asarray(categorical) работает, реализуя интерфейс массива. Имейте в виду, что это преобразует Categorical обратно в массив NumPy, поэтому информация о категориях и порядке не сохраняется!

Categorical.__array__([dtype])

Интерфейс массива NumPy.

Categorical можно хранить в Series или DataFrame. Для создания Series типа category, используйте cat = s.astype(dtype) или Series(..., dtype=dtype), где dtype это

  • строка 'category'

  • экземпляр CategoricalDtype.

Если Series имеет тип CategoricalDtype, можно использовать Series.cat для изменения категориальных данных. Подробнее см. Аксессор категориальных данных.

Разреженные

Данные, в которых одно значение повторяется много раз (например, 0 или NaN) могут храниться эффективно как arrays.SparseArray.

arrays.SparseArray(data[, sparse_index, ...])

Расширенный массив для хранения разреженных данных.

SparseDtype([dtype, fill_value])

Тип данных для данных, хранящихся в SparseArray.

Аксессор Series.sparse может использоваться для доступа к атрибутам и методам, специфичным для разреженных данных, если Series содержит разреженные значения. Подробнее см. Аксессор разреженных данных и руководство пользователя.

Строки

При работе с текстовыми данными, где каждый допустимый элемент — это строка или пропуск, рекомендуется использовать StringDtype (с псевдонимом "string").

arrays.StringArray(values[, copy])

Расширенный массив для строковых данных.

arrays.ArrowStringArray(values)

Расширенный массив для строковых данных в pyarrow.ChunkedArray.

StringDtype([storage])

Расширенный тип данных для строковых данных.

Аксессор Series.str доступен для Series, поддерживаемого arrays.StringArray. Подробнее см. Обработка строк.

Необязательные булевы

Тип данных bool (с псевдонимом "boolean") предоставляет поддержку хранения булевых данных (True, False) с пропущенными значениями, что невозможно сделать с bool numpy.ndarray.

arrays.BooleanArray(values, mask[, copy])

Массив булевых (True/False) данных с пропущенными значениями.

BooleanDtype()

Расширенный тип данных для булевых данных.

Утилиты

Конструкторы

api.types.union_categoricals(to_union[, ...])

Объединить список категорий, объединяя категории.

api.types.infer_dtype

Возвращает строковое обозначение типа скаляра или списка значений.

api.types.pandas_dtype(dtype)

Преобразовать входной тип в объект типа pandas или объект типа numpy.

Определение типа данных

api.types.is_bool_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных булевым типом.

api.types.is_categorical_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом Categorical.

api.types.is_complex_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных комплексным типом.

api.types.is_datetime64_any_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных типом datetime64.

api.types.is_datetime64_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом datetime64.

api.types.is_datetime64_ns_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных типом datetime64[ns].

api.types.is_datetime64tz_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом DatetimeTZDtype.

api.types.is_extension_type(arr)

(УСТАРЕЛО) Проверить, является ли массив экземпляром класса расширения pandas.

api.types.is_extension_array_dtype(arr_or_dtype)

Проверить, является ли объект типом массива расширения pandas.

api.types.is_float_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных типом float.

api.types.is_int64_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных типом int64.

api.types.is_integer_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных целым типом.

api.types.is_interval_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом Interval.

api.types.is_numeric_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных числовым типом.

api.types.is_object_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом object.

api.types.is_period_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом Period.

api.types.is_signed_integer_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных знаковым целым типом.

api.types.is_string_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных строковым типом.

api.types.is_timedelta64_dtype(arr_or_dtype)

Проверить, является ли массив или тип данных типом timedelta64.

api.types.is_timedelta64_ns_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных типом timedelta64[ns].

api.types.is_unsigned_integer_dtype(arr_or_dtype)

Проверить, является ли предоставленный массив или тип данных беззнаковым целым типом.

api.types.is_sparse(arr)

Проверить, является ли массив одномерным разреженным массивом pandas.

Интроспекция итерируемых объектов

api.types.is_dict_like(obj)

Проверить, является ли объект похожим на словарь.

api.types.is_file_like(obj)

Проверить, является ли объект объектом типа "файл".

api.types.is_list_like

Проверить, является ли объект похожим на список.

api.types.is_named_tuple(obj)

Проверить, является ли объект именованной кортежем.

api.types.is_iterator

Проверить, является ли объект итератором.

Вспомогательные средства для скаляров

api.types.is_bool

Возвращает True, если заданный объект является булевым.

api.types.is_categorical(arr)

(УСТЕРЕЖЕН) Проверка, является ли массив-подобный экземпляром Categorical.

api.types.is_complex

Возвращает True, если заданный объект является комплексным.

api.types.is_float

Возвращает True, если заданный объект является числом с плавающей точкой.

api.types.is_hashable(obj)

Возвращает True, если функция hash(obj) выполнится успешно, в противном случае — False.

api.types.is_integer

Возвращает True, если заданный объект является целым числом.

api.types.is_interval

api.types.is_number(obj)

Проверяет, является ли объект числом.

api.types.is_re(obj)

Проверяет, является ли объект экземпляром шаблона регулярного выражения.

api.types.is_re_compilable(obj)

Проверяет, может ли объект быть скомпилирован в экземпляр шаблона регулярного выражения.

api.types.is_scalar

Возвращает True, если заданный объект является скаляром.

© 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/1.5.0/reference/arrays.html

Spec-Zone.ru

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