Spec-Zone.ru › Polars

polars.DataFrame.estimated_size

DataFrame.estimated_size(
    unit: SizeUnit = 'b',
) → int | float

Возвращает оценку общего размера памяти в куче, выделенной для DataFrame.

Оценка размера указывается в заданных единицах (по умолчанию — в байтах).

Эта оценка представляет собой сумму размеров буферов и данных валидности, включая вложенные массивы. Несколько массивов могут совместно использовать буферы и битовые карты. Поэтому размер двух массивов не равен сумме размеров, вычисленных этой функцией. В частности, размер [StructArray] является верхней границей.

При срезе массива размер выделенной для него памяти остаётся неизменным, поскольку буфер не меняется. Однако эта функция возвращает меньшее значение, так как показывает видимый размер буфера, а не его полную ёмкость.

Буферы FFI включены в эту оценку.

Параметры:
unit{‘b’, ‘kb’, ‘mb’, ‘gb’, ‘tb’}

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

Примечания

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

Примеры

>>> df = pl.DataFrame(
...     {
...         "x": list(reversed(range(1_000_000))),
...         "y": [v / 1000 for v in range(1_000_000)],
...         "z": [str(v) for v in range(1_000_000)],
...     },
...     schema=[("x", pl.UInt32), ("y", pl.Float64), ("z", pl.String)],
... )
>>> df.estimated_size()
17888890
>>> df.estimated_size("mb")
17.0601749420166

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/dataframe/api/polars.DataFrame.estimated_size.html

Spec-Zone.ru

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