gpt4 book ai didi

python - numpy.savetxt() 输出非常大的文件

转载 作者:太空狗 更新时间:2023-10-30 02:30:32 28 4
gpt4 key购买 nike

我正在使用 numpy.savetxt() 将 numpy 数组写入 csv 文件,但生成的文件非常大。例如,如果我创建一个 zeros 数组:

import numpy

test = numpy.zeros((10000,10000), dtype=numpy.float32)
numpy.savetxt('C:/datatest.csv',test,delimiter=',')

我预计文件大小约为 10,000*10,000*4 字节 (400 MB)。 (这也是 test.nbytes 返回的内容)。但是,该文件有 2.3 GB 大。是否有大文件大小的原因?我查看了 numpy 文档,似乎没有办法在写入文件时指定变量类型。我尝试了其他文件类型/分隔符,但得到了相同的结果。

最佳答案

native 数据类型的大小与数据类型的字符串表示形式的大小不同。

numpy.savetxt有一个默认为 '%.18e'fmt 参数,它将每个零格式化为 0.000000000000000000e+00。即每项 24 个字符加上一个分隔符。

要获得较小的文件,您可以更改格式(注意丢失有效数字)或使用 numpy.save以二进制或 numpy.savez 保存保存为压缩存档。

关于python - numpy.savetxt() 输出非常大的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26284644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com