问题描述
我进行了一些实验,在其中我通过brotli压缩将随机整数的DataFrame保存到镶木地板中。我的测试之一是找到存储为32位整数与64位整数之间的大小比:
df = pd.DataFrame(
np.random.randint(0,10000000,size=(1000000,4)),columns=["a","b","c","d"]
)
df.astype("Int32").to_parquet("/tmp/i32.parquet",compression="brotli")
i32_size = int(Path("/tmp/i32.parquet").stat().st_size)
df.astype("Int64").to_parquet("/tmp/i64.parquet",compression="brotli")
i64_size = int(Path("/tmp/i64.parquet").stat().st_size)
print(i64_size / i32_size)
我希望它输出的数字大于1,因为我希望INT64大于INT32,但实际上我得到的是〜0.96。为什么呢?
我已经使用parquet-tools
进行了检查,文件肯定分别保存为INT32和INT64。如果我尝试使用gzip压缩,则得到的比率> 1。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)