数据压缩在Pythonnumpy

数据压缩在Pythonnumpy,第1张

概述数据压缩在Python / numpy

我正在考虑使用亚马逊云来满足我所有的模拟需求。 由此产生的SIM文件是相当大的,我想将它们移到我的本地驱动器,以便于分析,等等。 你必须支付每个数据移动,所以我想压缩所有我的模拟soutions尽可能小。 它们只是以.mat文件的forms保存的numpy数组,使用:

import scipy.io as sio sio.savemat(filepath,do_compression = True)

所以我的问题是,什么是最好的方式来压缩numpy数组(它们目前存储在.mat文件,但我可以存储它们使用任何python方法),通过使用python压缩保存,linux压缩,或两者?

我在linux环境下,并且对任何types的文件压缩都是开放的。

除非你对数组有一些特别的了解(例如稀疏或某种模式),否则你不会比默认的压缩做得更好,也可能是gzip。 事实上,如果您使用http进行下载,并且您的服务器配置为进行压缩,则甚至不需要对文件进行Gzip压缩。 良好的无损压缩算法很少变化超过10%。

如果savemat按照广告的方式工作,你应该可以用python获得Gzip压缩:

import scipy.io as sio import gzip f_out = gzip.open(filepath_dot_gz,'wb') sio.savemat(f_out,do_compression = True)

另外LZMA(AKA xz )在相当稀疏的numpy数组上提供了很好的压缩,尽管在压缩时它非常慢(并且可能需要更多的内存)。

在Ubuntu中,安装了sudo apt-get install python-lzma

它被用作任何其他的文件对象包装器,类似的东西(加载腌制的数据):

from lzma import LZMAfile import cPickle as pickle if filename.endswith('.xz'): datafile = LZMAfile(filename,'r') else: datafile = file(filename,'ro') data = pickle.load(datafile)

总结

以上是内存溢出为你收集整理的数据压缩在Python / numpy全部内容,希望文章能够帮你解决数据压缩在Python / numpy所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存