массивы pandas, скаляры и типы данных#
Объекты#
Для большинства типов данных pandas использует массивы NumPy в качестве конкретных объектов, содержащихся в Index, Series, или
DataFrame.
Для некоторых типов данных pandas расширяет систему типов NumPy. Строковые псевдонимы для этих типов можно найти в dtypes.
Тип данных |
Тип данных pandas |
Скаляр |
Массив |
|---|---|---|---|
Дата-время с учетом часового пояса |
|||
Timedeltas |
(нет) |
||
Период (временные промежутки) |
|||
Интервалы |
|||
Nullable Integer |
|
(нет) |
|
Nullable Float |
|
(нет) |
|
Категориальный |
(нет) |
||
Разреженный |
(нет) |
||
Строки |
|||
Nullable Boolean |
|||
PyArrow |
Python Scalars или |
pandas и сторонние библиотеки могут расширять систему типов NumPy (см. Расширенные типы).
Верхнеуровневый array() Метод может быть использован для создания нового массива, который может быть
сохранен в Series, Index, или как столбец в DataFrame.
|
Создать массив. |
PyArrow#
Предупреждение
Эта функция является экспериментальной, и API может измениться в будущих выпусках без предупреждения.
The arrays.ArrowExtensionArray поддерживается pyarrow.ChunkedArray с
pyarrow.DataType вместо массива NumPy и типа данных. .dtype из arrays.ArrowExtensionArray
является ArrowDtype.
Pyarrow предоставляет аналогичные массивы и тип данных поддержка как в NumPy, включая поддержку нулевых значений первого класса для всех типов данных, неизменяемость и многое другое.
В таблице ниже показаны эквивалентные на основе pyarrow (pa), расширение pandas и numpy (np) типы, которые распознаются pandas. Pyarrow-поддерживаемые типы ниже должны быть переданы в ArrowDtype для распознавания pandas, например, pd.ArrowDtype(pa.bool_())
тип PyArrow |
расширенный тип pandas |
Тип NumPy |
|---|---|---|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
(нет) |
(нет) |
|
(нет) |
(нет) |
|
|
||
(нет) |
(нет) |
|
(нет) |
(нет) |
|
(нет) |
|
|
(нет) |
(нет) |
|
|
||
(нет) |
(нет) |
|
(нет) |
(нет) |
|
(нет) |
(нет) |
|
(нет) |
Примечание
Поддержка строк на основе Pyarrow предоставляется как pd.StringDtype("pyarrow") и pd.ArrowDtype(pa.string()).
pd.StringDtype("pyarrow") описан ниже в раздел строк
и будет возвращен, если строковый псевдоним "string[pyarrow]" указан. pd.ArrowDtype(pa.string())
обычно имеет лучшую совместимость с ArrowDtype разных типов.
Хотя отдельные значения в arrays.ArrowExtensionArray хранятся как объекты PyArrow, скаляры являются возвращён
как скаляры Python, соответствующие типу данных, например, PyArrow int64 будет возвращен как Python int, или NA для пропущенных значений.
|
Pandas ExtensionArray, поддерживаемый PyArrow ChunkedArray. |
|
ExtensionDtype для типов данных PyArrow. |
Для получения дополнительной информации, пожалуйста, смотрите Руководство пользователя PyArrow
Даты и время#
NumPy не может нативно представлять даты и время с учетом часового пояса. pandas поддерживает это с помощью arrays.DatetimeArray расширенный массив, который может содержать значения без часового пояса
или с часовым поясом.
Timestamp, подкласс datetime.datetime, является скалярным типом pandas
для данных datetime без часового пояса или с часовым поясом. NaT
это пропущенное значение для данных даты и времени.
|
Замена pandas для объекта python datetime.datetime. |
Свойства#
Возвращает формат numpy datetime64 в наносекундах. |
|
Возвращает день недели. |
|
Возвращает день недели. |
|
Возвращает день года. |
|
Возвращает день года. |
|
Возвращает количество дней в месяце. |
|
Возвращает количество дней в месяце. |
|
Вернуть True, если год високосный. |
|
Проверить, является ли дата последним днем месяца. |
|
Проверить, является ли дата первым днем месяца. |
|
Проверить, является ли дата последним днем квартала. |
|
Проверить, является ли дата первым днем квартала. |
|
Возвращает True, если дата является последним днем года. |
|
Возвращает True, если дата является первым днем года. |
|
Возвращает квартал года. |
|
Псевдоним для tzinfo. |
|
Аббревиатура, связанная с self._creso. |
|
Возвращает номер недели в году. |
|
Возвращает номер недели в году. |
|
Методы#
|
Преобразует базовое представление int64 в заданную единицу измерения. |
Преобразовать Timestamp с учетом часового пояса в другой часовой пояс. |
|
|
Возвращает новый Timestamp, округленный до этого разрешения. |
|
Объединить дату, время в datetime с теми же полями даты и времени. |
Возвращает строку в стиле ctime(). |
|
Возвращает объект даты с тем же годом, месяцем и днем. |
|
|
Возвращает название дня Timestamp с указанной локалью. |
Возвращает корректировку летнего времени (DST). |
|
|
Возвращает новый Timestamp, округлённый до этого разрешения. |
|
Создать метку времени из пролептического григорианского порядкового номера. |
Преобразовать timestamp[, tz] в локальное время tz из POSIX timestamp. |
|
Возвращает именованный кортеж, содержащий ISO год, номер недели и день недели. |
|
|
Возвращает время, отформатированное в соответствии с ISO 8601. |
Возвращает день недели, представленный датой. |
|
|
Возвращает название месяца Timestamp с указанной локалью. |
Нормализация Timestamp до полуночи с сохранением информации о часовом поясе. |
|
|
Возвращает новый объект Timestamp, представляющий текущее время в локальном часовом поясе tz. |
|
Реализует datetime.replace, обрабатывает наносекунды. |
|
Округлить Timestamp до указанного разрешения. |
|
Возвращает форматированную строку Timestamp. |
|
Функция не реализована. |
Возвращает объект времени с тем же временем, но с tzinfo=None. |
|
Возврат временной метки POSIX как числа с плавающей точкой. |
|
Возвращает кортеж времени, совместимый с time.localtime(). |
|
Возвращает объект времени с тем же временем и tzinfo. |
|
Возвращает объект numpy.datetime64 с той же точностью. |
|
|
Преобразовать метку времени в NumPy datetime64. |
Преобразовать TimeStamp в юлианскую дату. |
|
|
Возвращает период, наблюдением которого является эта временная метка. |
|
Преобразовать объект Timestamp в нативный объект datetime Python. |
|
Возвращает текущее время в локальном часовом поясе. |
Возвращает пролептический григорианский порядковый номер. |
|
Преобразовать Timestamp с учетом часового пояса в другой часовой пояс. |
|
|
Локализует метку времени в часовом поясе. |
Возвращает название часового пояса. |
|
Создать datetime с учетом часового пояса UTC из POSIX-метки времени. |
|
Возвращает новый Timestamp, представляющий день и время в UTC. |
|
Возвращает смещение UTC. |
|
Возвращает кортеж времени UTC, совместимый с time.localtime(). |
|
Возвращает день недели, представленный датой. |
Коллекция временных меток может храниться в arrays.DatetimeArray.
Для данных с учётом часового пояса .dtype из arrays.DatetimeArray является
DatetimeTZDtype. Для данных без часового пояса, np.dtype("datetime64[ns]")
используется.
Если данные учитывают часовой пояс, то каждое значение в массиве должно иметь один и тот же часовой пояс.
|
Pandas ExtensionArray для данных даты и времени без часового пояса или с часовым поясом. |
|
ExtensionDtype для данных datetime с учётом часового пояса. |
Timedeltas#
NumPy может нативно представлять временные интервалы. pandas предоставляет Timedelta
для симметрии с Timestamp. NaT
является пропущенным значением для данных типа timedelta.
|
Представляет длительность, разницу между двумя датами или временами. |
Свойства#
Вернуть скалярное представление массива numpy timedelta64. |
|
Возвращает именованный кортеж, подобный компонентам. |
|
Возвращает дни timedelta. |
|
Возвращает количество наносекунд (n), где 0 <= n < 1 микросекунда. |
|
Возвращает общее количество часов, минут и секунд timedelta в секундах. |
|
|
Совместимость представления массива. |
Методы#
|
Преобразовать базовое представление int64 в заданную единицу измерения. |
|
Вернуть новый Timedelta, округленный до этого разрешения. |
|
Вернуть новый Timedelta, округленный вниз до этого разрешения. |
Форматировать Timedelta как длительность ISO 8601. |
|
|
Округлить Timedelta до указанной точности. |
Преобразовать объект pandas Timedelta в python |
|
Возвращает объект numpy.timedelta64 с точностью 'ns'. |
|
|
Преобразовать Timedelta в NumPy timedelta64. |
Общее количество секунд в продолжительности. |
Коллекция Timedelta может храниться в TimedeltaArray.
|
Pandas ExtensionArray для данных временных интервалов. |
Периоды#
pandas представляет промежутки времени как Period объекты.
Period#
|
Представляет период времени. |
Свойства#
Получить день месяца, на который приходится Period. |
|
День недели, в который попадает период, с понедельником=0 и воскресеньем=6. |
|
День недели, в который попадает период, с понедельником=0 и воскресеньем=6. |
|
Возвращает день года. |
|
Возвращает день года. |
|
Получить общее количество дней в месяце, на который приходится этот период. |
|
Получить общее количество дней месяца, на которые приходится этот период. |
|
Получить Timestamp для конца периода. |
|
Вернуть строковое представление частоты. |
|
Получить компонент часа дня для Period. |
|
Возвращает True, если год периода является високосным. |
|
Получить минуту часа компонента Period. |
|
Возвращает месяц, на который приходится этот Period. |
|
Возвращает квартал, в который попадает этот Period. |
|
Финансовый год, в котором находится Period, согласно его начальному кварталу. |
|
Получите второй компонент периода. |
|
Получить Timestamp для начала периода. |
|
Получить неделю года для данного Period. |
|
День недели, в который попадает период, с понедельником=0 и воскресеньем=6. |
|
Получить неделю года для данного Period. |
|
Возвращает год, на который приходится этот Period. |
Методы#
|
Преобразование Period в желаемую частоту, в начале или конце интервала. |
|
Возвращает период текущей даты. |
|
Возвращает форматированное строковое представление |
|
Вернуть представление Timestamp для Period. |
Коллекция Period может храниться в arrays.PeriodArray.
Каждый период в arrays.PeriodArray должны иметь одинаковый freq.
|
Pandas ExtensionArray для хранения данных Period. |
|
ExtensionDtype для данных Period. |
Интервалы#
Произвольные интервалы могут быть представлены как Interval объекты.
Неизменяемый объект, реализующий Interval, ограниченный интервал, похожий на срез. |
Свойства#
Строка, описывающая включенную сторону интервалов. |
|
Проверить, закрыт ли интервал с левой стороны. |
|
Проверить, закрыт ли интервал с правой стороны. |
|
Указывает, является ли интервал пустым, то есть не содержит точек. |
|
Левая граница интервала. |
|
Возвращает длину интервала. |
|
Возвращает середину интервала. |
|
Проверить, открыт ли интервал с левой стороны. |
|
Проверяет, открыт ли интервал с правой стороны. |
|
|
Проверить, перекрываются ли два объекта Interval. |
Правая граница интервала. |
Коллекция интервалов может храниться в arrays.IntervalArray.
|
Массив Pandas для интервальных данных, которые закрыты с одной стороны. |
|
ExtensionDtype для интервальных данных. |
Nullable integer#
numpy.ndarray не может нативно представлять целочисленные данные с пропущенными значениями.
pandas предоставляет это через arrays.IntegerArray.
|
Массив целочисленных (опционально пропущенных) значений. |
ExtensionDtype для целочисленных данных int8. |
|
ExtensionDtype для целочисленных данных int16. |
|
ExtensionDtype для целочисленных данных int32. |
|
ExtensionDtype для целочисленных данных int64. |
|
ExtensionDtype для целочисленных данных uint8. |
|
ExtensionDtype для целочисленных данных uint16. |
|
ExtensionDtype для целочисленных данных uint32. |
|
ExtensionDtype для целочисленных данных uint64. |
Nullable float#
|
Массив значений с плавающей точкой (опционально отсутствующих). |
ExtensionDtype для данных float32. |
|
ExtensionDtype для данных float64. |
Категориальные данные#
pandas определяет пользовательский тип данных для представления данных, которые могут принимать только
ограниченный, фиксированный набор значений. Тип данных (dtype) для Categorical может быть описано
с помощью CategoricalDtype.
|
Тип для категориальных данных с категориями и упорядоченностью. |
An |
|
Имеют ли категории упорядоченное отношение. |
Категориальные данные могут храниться в pandas.Categorical
|
Представляет категориальную переменную в классическом стиле R / S-plus. |
Альтернатива Categorical.from_codes() конструктор может использоваться, когда у вас уже есть категории и целочисленные коды:
|
Создать категориальный тип из кодов и категорий или dtype. |
Информация о типе данных доступна на Categorical
The |
|
Категории этой категориальной переменной. |
|
Имеют ли категории упорядоченное отношение. |
|
Коды категорий этого категориального индекса. |
np.asarray(categorical) работает, реализуя интерфейс массива. Учтите, что это преобразует
Categorical обратно в массив NumPy, поэтому информация о категориях и порядке не сохраняется!
|
Интерфейс массива numpy. |
A Categorical может храниться в Series или DataFrame.
Чтобы создать Series типа category, используйте cat = s.astype(dtype) или
Series(..., dtype=dtype) где dtype является либо
строка
'category'экземпляр
CategoricalDtype.
Если Series имеет тип данных CategoricalDtype, Series.cat может использоваться для изменения категориальных
данных. См. Категориальный аксессор подробнее.
Разреженный#
Данные, где одно значение повторяется много раз (например, 0 или NaN) может
эффективно храниться как arrays.SparseArray.
|
ExtensionArray для хранения разреженных данных. |
|
Тип данных для хранения в |
The Series.sparse аксессор может использоваться для доступа к атрибутам и методам, специфичным для разреженных данных, если Series содержит разреженные значения. См.
Sparse аксессор и руководство пользователя подробнее.
Строки#
При работе с текстовыми данными, где каждый допустимый элемент является строкой или пропущенным значением,
мы рекомендуем использовать StringDtype (с псевдонимом "string").
|
Расширенный массив для строковых данных. |
|
Расширенный массив для строковых данных в |
|
Расширенный тип данных для строковых данных. |
The Series.str аксессор доступен для Series поддерживается arrays.StringArray.
См. Обработка строк подробнее.
Nullable Boolean#
Логический тип данных (с псевдонимом "boolean") предоставляет поддержку для хранения
логических данных (True, False) с пропущенными значениями, что невозможно
с типом bool numpy.ndarray.
|
Массив булевых данных (True/False) с пропущенными значениями. |
Расширенный тип данных для булевых данных. |
Утилиты#
Конструкторы#
|
Объединение спискообразных категориальных объектов с объединением категорий. |
|
Возвращает строковую метку типа скаляра или списко-подобного значения. |
|
Преобразовать входные данные в объект dtype pandas или объект dtype numpy. |
Интроспекция типов данных#
|
Проверить, является ли предоставленный массив или тип данных типом данных вещественного числа. |
|
Проверяет, является ли предоставленный массив или тип данных булевым типом. |
|
(УСТАРЕЛО) Проверить, является ли массивоподобный объект или тип данных категориальным типом. |
|
Проверить, является ли предоставленный массив или тип данных комплексным типом. |
|
Проверить, является ли предоставленный массив или dtype типом datetime64. |
|
Проверить, является ли массивоподобный объект или тип данных типом datetime64. |
|
Проверить, является ли предоставленный массив или тип данных типом datetime64[ns]. |
|
(УСТАРЕЛО) Проверить, является ли массивоподобный объект или тип данных типом DatetimeTZDtype. |
|
Проверьте, является ли объект типом расширенного массива pandas. |
|
Проверить, является ли предоставленный массив или тип данных типом данных с плавающей точкой. |
|
(УСТАРЕЛО) Проверка, является ли предоставленный массив или тип данных типом int64. |
|
Проверить, является ли предоставленный массив или тип данных целочисленным типом данных. |
|
(УСТАРЕЛО) Проверяет, является ли массивоподобный объект или dtype типа Interval. |
|
Проверьте, является ли предоставленный массив или тип данных числовым типом. |
|
Проверяет, является ли массивоподобный объект или тип данных объектным типом. |
|
(УСТАРЕЛО) Проверка, является ли массивоподобный объект или тип данных типом Period. |
|
Проверка, является ли предоставленный массив или тип данных знаковым целочисленным типом. |
|
Проверить, является ли предоставленный массив или тип данных строковым типом. |
|
Проверить, является ли массивоподобный объект или тип данных типом timedelta64. |
|
Проверить, является ли предоставленный массив или тип данных типом timedelta64[ns]. |
|
Проверить, является ли предоставленный массив или тип данных беззнаковым целочисленным типом. |
|
(УСТАРЕЛО) Проверить, является ли array-like одномерным разреженным массивом pandas. |
Интроспекция итерируемых объектов#
Проверить, является ли объект словареподобным. |
|
Проверить, является ли объект файлоподобным объектом. |
|
|
Проверить, является ли объект похожим на список. |
Проверьте, является ли объект именованным кортежем. |
|
Проверяет, является ли объект итератором. |
Интроспекция скаляров#
|
Вернуть True, если данный объект является булевым. |
|
Возвращает True, если данный объект является комплексным. |
|
Возвращает True, если данный объект является числом с плавающей точкой. |
Возвращает True, если hash(obj) будет успешным, False в противном случае. |
|
|
Возвращает True, если данный объект является целым числом. |
|
Проверьте, является ли объект числом. |
|
Проверить, является ли объект экземпляром шаблона регулярного выражения. |
Проверьте, может ли объект быть скомпилирован в экземпляр шаблона регулярного выражения. |
|
|
Возвращает True, если данный объект является скаляром. |