加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:将数据类型从整数更改为float时出现内存错误

发布时间:2020-12-20 11:34:42 所属栏目:Python 来源:网络整理
导读:我有一个大小为13000 * 300000的数组,填充0到255之间的整数.我想将它们的数据类型从整数更改为float,就好像数据是一个numpy数组: data.astype('float') 在将其数据类型从整数更改为float时,它会显示内存错误.我有80 GB的RAM.它仍然显示内存错误.你能告诉我
我有一个大小为13000 * 300000的数组,填充0到255之间的整数.我想将它们的数据类型从整数更改为float,就好像数据是一个numpy数组:

data.astype('float')

在将其数据类型从整数更改为float时,它会显示内存错误.我有80 GB的RAM.它仍然显示内存错误.你能告诉我它是什么原因吗?

解决方法

这里的问题是数据量很大(大约30GB的顺序数据,见 How much memory in numpy array?),因此在尝试将数据放入内存时会导致错误.而不是整体操作,切片,然后执行操作,然后合并,如:

n = 300000
d1 = data[:,:n/2].astype('float')
d2 = data[:,n/2:].astype('float')

data = np.hstack(d1,d2)

通常,由于您的数据大小如此笨重,因此请考虑将其部分使用以避免一直被这些问题所困扰(有关此技术和其他技术,请参阅Techniques for working with large Numpy arrays?).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读