Spec-Zone.ru › pandas 0.24

Pandas Массивы

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

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

Тип данных Тип данных Pandas Скаляр Массив
Дата и время с часовым поясом DatetimeTZDtype Timestamp Данные даты и времени
Промежутки времени (нет) Timedelta Данные промежутков времени
Периоды (промежутки времени) PeriodDtype Period Данные промежутков времени
Интервалы IntervalDtype Interval Данные интервалов
Целые числа с возможностью пропусков Int64Dtype, … (нет) Целые числа с возможностью пропусков
Категории CategoricalDtype (нет) Данные категорий
Разреженные данные SparseDtype (нет) Разреженные данные

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

array(data[, dtype, copy]) Создать массив.

Данные даты и времени

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

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

Timestamp Замена объекта datetime.datetime в Pandas

Свойства

Timestamp.asm8
Timestamp.day
Timestamp.dayofweek
Timestamp.dayofyear
Timestamp.days_in_month
Timestamp.daysinmonth
Timestamp.fold
Timestamp.hour
Timestamp.is_leap_year
Timestamp.is_month_end
Timestamp.is_month_start
Timestamp.is_quarter_end
Timestamp.is_quarter_start
Timestamp.is_year_end
Timestamp.is_year_start
Timestamp.max
Timestamp.microsecond
Timestamp.min
Timestamp.minute
Timestamp.month
Timestamp.nanosecond
Timestamp.quarter
Timestamp.resolution Возвращает разрешение, описывающее наименьшую разницу между двумя моментами времени, которые может представить объект Timestamp.
Timestamp.second
Timestamp.tz Псевдоним для tzinfo
Timestamp.tzinfo
Timestamp.value
Timestamp.week
Timestamp.weekofyear
Timestamp.year

Методы

Timestamp.astimezone Преобразовать временную метку Timestamp с учётом часового пояса в другой часовой пояс.
Timestamp.ceil возвращает новую временную метку Timestamp, округлённую до указанного разрешения
Timestamp.combine(дата, время) дата, время -> дата и время с теми же полями
Timestamp.ctime Возвращает строку в формате ctime().
Timestamp.date Возвращает объект date с тем же годом, месяцем и днём.
Timestamp.day_name Возвращает имя дня недели временной метки Timestamp с указанным языковым стандартом.
Timestamp.dst Возвращает self.tzinfo.dst(self).
Timestamp.floor возвращает новую временную метку Timestamp, урезанную до указанного разрешения
Timestamp.freq
Timestamp.freqstr
Timestamp.fromordinal(порядковый номер[, частота, часовой пояс]) при передаче порядкового номера, преобразует и возвращает временную метку; по определению в самом порядковом номере не может быть информации о часовом поясе
Timestamp.fromtimestamp(временная_метка) временная_метка[, часовой_пояс] -> локальное время часового пояса из временной метки POSIX.
Timestamp.isocalendar Возвращает кортеж из 3 элементов: год по ISO, номер недели и день недели.
Timestamp.isoformat
Timestamp.isoweekday Возвращает день недели, представленный датой.
Timestamp.month_name Возвращает имя месяца временной метки Timestamp с указанным языковым стандартом.
Timestamp.normalize Нормализует временную метку Timestamp до полуночи, сохраняя информацию о часовом поясе.
Timestamp.now([часовой_пояс]) Возвращает новый объект Timestamp, представляющий текущее время, локальное для часового пояса tz.
Timestamp.replace реализует datetime.replace, обрабатывает наносекунды
Timestamp.round Округляет временную метку Timestamp до указанного разрешения
Timestamp.strftime формат -> строка в стиле strftime().
Timestamp.strptime строка, формат -> новая дата и время, разобранная из строки (как time.strptime()).
Timestamp.time Возвращает объект time с тем же временем, но с tzinfo=None.
Timestamp.timestamp Возвращает временную метку POSIX в виде числа с плавающей точкой.
Timestamp.timetuple Возвращает кортеж времени, совместимый с time.localtime().
Timestamp.timetz Возвращает объект time с тем же временем и tzinfo.
Timestamp.to_datetime64 Возвращает объект numpy.datetime64 с точностью ‘ns’
Timestamp.to_julian_date Преобразует TimeStamp в юлианскую дату.
Timestamp.to_period Возвращает период, к которому относится данная временная метка.
Timestamp.to_pydatetime Преобразует объект Timestamp в собственный объект Python datetime.
Timestamp.today(cls[, tz]) Возвращает текущее время в локальном часовом поясе.
Timestamp.toordinal Возвращает пролептический григорианский порядковый номер.
Timestamp.tz_convert Преобразовать временную метку Timestamp с учётом часового пояса в другой часовой пояс.
Timestamp.tz_localize Преобразует неявную временную метку Timestamp в локальный часовой пояс или удаляет часовой пояс из временной метки с учётом часового пояса.
Timestamp.tzname Возвращает self.tzinfo.tzname(self).
Timestamp.utcfromtimestamp(временная_метка) Создаёт объект datetime UTC без учёта часового пояса из временной метки POSIX.
Timestamp.utcnow() Возвращает новую временную метку, представляющую день и время по UTC.
Timestamp.utcoffset Возвращает self.tzinfo.utcoffset(self).
Timestamp.utctimetuple Возвращает кортеж времени по UTC, совместимый с time.localtime().
Timestamp.weekday Возвращает день недели, представленный датой.

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

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

arrays.DatetimeArray(значения[, тип_данных, частота, копия]) Расширенный массив Pandas для данных времени и даты без учёта часового пояса или с учётом часового пояса.
DatetimeTZDtype([единица, часовой_пояс]) Класс np.dtype, подходящий для хранения настраиваемого типа данных времени и даты с часовым поясом.

Данные Timedelta

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

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

Свойства

Timedelta.asm8 Возвращает скалярное представление массива numpy timedelta64.
Timedelta.components Возвращает объект, похожий на NamedTuple Components.
Timedelta.days Количество дней.
Timedelta.delta Возвращает временной интервал в наносекундах (нс) для внутренней совместимости.
Timedelta.freq
Timedelta.is_populated
Timedelta.max
Timedelta.microseconds Количество микросекунд (>= 0 и меньше 1 секунды).
Timedelta.min
Timedelta.nanoseconds Возвращает количество наносекунд (н), где 0 <= n < 1 микросекунда.
Timedelta.resolution Возвращает строку, представляющую наименьшее разрешение временного интервала.
Timedelta.seconds Количество секунд (>= 0 и меньше 1 дня).
Timedelta.value
Timedelta.view Совместимость с представлением массива.

Методы

Timedelta.ceil Возвращает новый временной интервал, округленный до данного разрешения вверх.
Timedelta.floor Возвращает новый временной интервал, округленный до данного разрешения вниз.
Timedelta.isoformat Форматирует временной интервал в формате ISO 8601, например P[n]Y[n]M[n]DT[n]H[n]M[n]S, где [n] заменяются значениями.
Timedelta.round Округляет временной интервал до указанного разрешения.
Timedelta.to_pytimedelta Возвращает объект datetime.timedelta. Примечание: разрешение наносекунд теряется, если это необходимо.
Timedelta.to_timedelta64 Возвращает объект numpy.timedelta64 с точностью ‘нс’.
Timedelta.total_seconds Полная продолжительность временного интервала в секундах (с точностью до нс).

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

arrays.TimedeltaArray(values[, dtype, freq, …]) Расширенный массив Pandas для данных временных интервалов.

Данные временных интервалов

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

Период

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

Свойства

Period.day Получить день месяца, на который выпадает период.
Period.dayofweek День недели, в который попадает период, где понедельник=0, а воскресенье=6.
Period.dayofyear Возвращает день года.
Period.days_in_month Получить общее количество дней в месяце, на который выпадает этот период.
Period.daysinmonth Получить общее количество дней в месяце, на который выпадает период.
Period.end_time
Period.freq
Period.freqstr
Period.hour Получить компонент часа дня периода.
Period.is_leap_year
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.now
Period.strftime Возвращает строковое представление объекта Period в зависимости от выбранного fmt.
Period.to_timestamp Возвращает представление Timestamp объекта Period на целевой частоте в указанном конце (how) периода.

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

arrays.DatetimeArray(values[, dtype, freq, copy]) Расширенный массив Pandas для данных datetime с или без временной зоны.
PeriodDtype Тип данных Period, подходящий для хранения периода с типом freq.

Данные интервалов

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

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

Свойства

Interval.closed Закрыт ли интервал слева, справа, с обеих сторон или ни с одной
Interval.closed_left Проверка, закрыт ли интервал слева.
Interval.closed_right Проверка, закрыт ли интервал справа.
Interval.left Левая граница интервала
Interval.length Возвращает длину интервала
Interval.mid Возвращает середину интервала
Interval.open_left Проверка, открыт ли интервал слева.
Interval.open_right Проверка, открыт ли интервал справа.
Interval.overlaps Проверка перекрываются ли два интервала.
Interval.right Правая граница интервала

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

arrays.IntervalArray Массив Pandas для данных интервалов, закрытых с одной и той же стороны.
IntervalDtype Тип данных Interval, подходящий для хранения интервала.

Целые числа с возможностью пропусков

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

arrays.IntegerArray(values, mask[, copy]) Массив целых чисел (с возможными пропущенными значениями).
Int8Dtype

Атрибуты

Int16Dtype

Атрибуты

Int32Dtype

Атрибуты

Int64Dtype

Атрибуты

UInt8Dtype

Атрибуты

UInt16Dtype

Атрибуты

UInt32Dtype

Атрибуты

UInt64Dtype

Атрибуты

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

Pandas определяет пользовательский тип данных для представления данных, которые могут принимать только ограниченный, фиксированный набор значений. Тип данных Categorical может быть описан pandas.api.types.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.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 могут быть эффективно сохранены как SparseArray.

SparseArray(data[, sparse_index, index, …]) Расширение массива для хранения разреженных данных.
SparseDtype([dtype, fill_value]) Тип данных для данных, хранящихся в SparseArray.

Доступ к разреженным атрибутам и методам может быть получен с помощью Series.sparse аксессора, если Series содержит разреженные значения. См. Разреженный аксессор для получения дополнительной информации.

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

Spec-Zone.ru

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