polars.DataFrame.estimated_size#
- DataFrame.estimated_size(unit: SizeUnit = 'b') int | float[source]#
返回
DataFrame的总(堆)分配大小的估计值。估计大小以指定单位给出(默认为字节)。
此估计是其缓冲区大小、有效性的总和,包括嵌套数组。多个数组可能共享缓冲区和位图。因此,两个数组的大小不是从此函数计算出的尺寸的总和。特别是,[
StructArray]的大小是一个上限。当数组被切片时,其分配的大小保持不变,因为缓冲区未改变。然而,此函数将返回一个较小的数字。这是因为此函数返回缓冲区的可见大小,而不是其总容量。
FFI缓冲区包含在此估计中。
- Parameters:
- unit{‘b’, ‘kb’, ‘mb’, ‘gb’, ‘tb’}
将返回的大小缩放到给定的单位。
示例
>>> 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