Spec-Zone.ru › pandas 0.25

Массивы 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, numpy.dtype, …) Создать массив.

Данные дат

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

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

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

Свойства

Timestamp.asm8 Возвращает формат NumPy datetime64 в наносекундах.
Timestamp.day
Timestamp.dayofweek Возвращает день недели.
Timestamp.dayofyear Возвращает день года.
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.
Timestamp.second
Timestamp.tz Псевдоним для tzinfo
Timestamp.tzinfo
Timestamp.value
Timestamp.week Возвращает номер недели в году.
Timestamp.weekofyear Возвращает номер недели в году.
Timestamp.year

Методы

Timestamp.astimezone(self, tz) Преобразовать часовой пояс Timestamp с учётом часового пояса в другой часовой пояс.
Timestamp.ceil(self, freq[, ambiguous, …]) возвращает новый Timestamp, округленный до этого разрешения
Timestamp.combine(date, time) date, time -> datetime с теми же полями даты и времени
Timestamp.ctime() Возвращает строку в формате ctime().
Timestamp.date() Возвращает объект date с тем же годом, месяцем и днём.
Timestamp.day_name(self[, locale]) Возвращает имя дня Timestamp с указанным языковым стандартом.
Timestamp.dst() Возвращает self.tzinfo.dst(self).
Timestamp.floor(self, freq[, ambiguous, …]) возвращает новый Timestamp, округленный вниз до этого разрешения
Timestamp.freq
Timestamp.freqstr Возвращает общее количество дней в месяце.
Timestamp.fromordinal(ordinal[, freq, tz]) при передаче порядкового номера, выполняет преобразование и конвертацию в ts. Примечание: по определению в самом порядковом номере не может быть информации о часовом поясе.
Timestamp.fromtimestamp(ts) timestamp[, tz] -> локальное время tz из POSIX timestamp.
Timestamp.isocalendar() Возвращает кортеж из 3 элементов: год по ISO, номер недели и день недели.
Timestamp.isoformat(self[, sep])
Timestamp.isoweekday() Возвращает день недели, представленный датой.
Timestamp.month_name(self[, locale]) Возвращает имя месяца Timestamp с указанным языковым стандартом.
Timestamp.normalize(self) Нормализует Timestamp до полуночи, сохраняя информацию о часовом поясе.
Timestamp.now([tz]) Возвращает новый объект Timestamp, представляющий текущее время по местному времени tz.
Timestamp.replace(self[, year, month, day, …]) реализует datetime.replace, обрабатывает наносекунды
Timestamp.round(self, freq[, ambiguous, …]) Округляет Timestamp до указанного разрешения
Timestamp.strftime() format -> строка в формате strftime().
Timestamp.strptime(string, format) Функция не реализована.
Timestamp.time() Возвращает объект time с тем же временем, но с tzinfo=None.
Timestamp.timestamp() Возвращает POSIX timestamp в виде числа с плавающей точкой.
Timestamp.timetuple() Возвращает кортеж времени, совместимый с time.localtime().
Timestamp.timetz() Возвращает объект time с тем же временем и tzinfo.
Timestamp.to_datetime64() Возвращает объект numpy.datetime64 с точностью 'ns'.
Timestamp.to_numpy() Преобразовать Timestamp в NumPy datetime64.
Timestamp.to_julian_date(self) Преобразовать TimeStamp в юлианскую дату.
Timestamp.to_period(self[, freq]) Возвращает период, к которому относится эта метка времени.
Timestamp.to_pydatetime() Преобразовать объект Timestamp в собственный объект Python datetime.
Timestamp.today(cls[, tz]) Возвращает текущее время в локальном часовом поясе.
Timestamp.toordinal() Возвращает пролептический григорианский порядковый номер.
Timestamp.tz_convert(self, tz) Преобразовать часовой пояс Timestamp с учётом часового пояса в другой часовой пояс.
Timestamp.tz_localize(self, tz[, ambiguous, …]) Преобразовать незадаточный Timestamp в местный часовой пояс или удалить часовой пояс из Timestamp с учётом часового пояса.
Timestamp.tzname() Возвращает self.tzinfo.tzname(self).
Timestamp.utcfromtimestamp(ts) Создаёт незадаточную дату и время UTC из POSIX timestamp.
Timestamp.utcnow() Возвращает новый Timestamp, представляющий день и время по 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(values[, dtype, freq, copy]) Расширенный массив Pandas для данных datetime без или с учётом часового пояса.
DatetimeTZDtype([unit, tz]) Тип расширенных данных для данных datetime с учётом часового пояса.

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

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

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

Свойства

Timedelta.asm8 Возвращает представление скаляра массива numpy timedelta64.
Timedelta.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.
Timedelta.seconds Количество секунд (>= 0 и меньше 1 дня).
Timedelta.value
Timedelta.view() Совместимость с представлением массива.

Методы

Timedelta.ceil(self, freq) Возвращает новый Timedelta, округленный до заданного разрешения вверх.
Timedelta.floor(self, freq) Возвращает новый Timedelta, округленный до заданного разрешения вниз.
Timedelta.isoformat() Форматирует Timedelta как ISO 8601 Duration, например P[n]Y[n]M[n]DT[n]H[n]M[n]S, где [n] заменяются значениями.
Timedelta.round(self, freq) Округляет Timedelta до указанного разрешения.
Timedelta.to_pytimedelta() Преобразует объект pandas Timedelta в объект python timedelta.
Timedelta.to_timedelta64() Возвращает объект numpy.timedelta64 с точностью 'нс'.
Timedelta.to_numpy() Преобразует Timestamp в NumPy timedelta64.
Timedelta.total_seconds() Общая длительность Timedelta в секундах (с точностью до нс).

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

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

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

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 к нужному частоте, либо в начале, либо в конце интервала.
Period.now()
Period.strftime() Возвращает строковое представление Period, в зависимости от выбранного fmt.
Period.to_timestamp() Возвращает представление Timestamp Period в заданной частоте в конце (как) периода.
END_OF_DOCUMENT_MARKER

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

arrays.PeriodArray(values[, freq, dtype, copy]) Расширенный массив Pandas для хранения данных Period.
PeriodDtype Тип расширенных данных для 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 Массив Pandas для данных интервалов, закрытых с одной и той же стороны.
IntervalDtype Тип расширенных данных для данных Interval.

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

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 может быть описан с помощью pandas.api.types.CategoricalDtype.

CategoricalDtype([categories]) Тип для категориальных данных с категориями и упорядоченностью.
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 Тип CategoricalDtype для данного экземпляра
Categorical.categories Категории этого категориального типа.
Categorical.ordered Указывает, имеют ли категории упорядоченное отношение.
Categorical.codes Коды категорий этого категориального типа.

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

Categorical.__array__(self[, 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, numpy.dtype, …) Тип данных для данных, хранящихся в 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.25.0/reference/arrays.html

Spec-Zone.ru

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