You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Polars中正确使用shrink_to_fit()方法?

关于Polars中shrink_to_fit()的正确用法

Polars的shrink_to_fit()是原地操作,作用是释放DataFrame里未被使用的内存空间,优化内存占用。你之前用df = df.shrink_to_fit()没生效的问题在于:这个方法执行后返回的是None,赋值操作会把原DataFrame覆盖成None,反而起不到优化作用。

正确用法

直接调用方法即可,不需要重新赋值给原变量:

df.shrink_to_fit()

实际示例

可以结合内存冗余操作(比如删列、过滤行)来验证效果:

import polars as pl

# 创建测试DataFrame
df = pl.DataFrame({
    "a": range(100000),
    "b": [float(i) for i in range(100000)],
    "c": ["test"] * 100000
})

# 执行会产生内存冗余的操作
df = df.drop("c")
df = df.filter(pl.col("a") < 50000)

# 原地优化内存
df.shrink_to_fit()

# 查看优化后的内存占用
print("优化后内存大小:", df.estimated_size())

这个方法主要针对DataFrame经过修改(删列、过滤、切片等)后,底层内存缓冲区存在未使用空间的场景,调用后会让内存使用更紧凑。

内容的提问来源于stack exchange,提问作者yws

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:42:32