Python np.append后numpy数组的字节大小大幅增加
我有两个numpy数组Python np.append后numpy数组的字节大小大幅增加,python,python-3.x,numpy,Python,Python 3.x,Numpy,我有两个numpy数组data和header,它们是从一系列文本文件生成的数据.shape=(96170001)和标题.shape=(70001,)数据是一个浮点数组,头是一个短字符串数组,最长的是“R#70000” 我想将数据附加到标题的末尾。为了使形状匹配,我做了 header.reshape(-1,1).transpose() ! produces shape (1,700001) 在追加之前,data.nbytes=513MB,header.nbytes=1.86MB,并
data
和header
,它们是从一系列文本文件生成的<代码>数据.shape=(96170001)
和标题.shape
=(70001,)
<代码>数据是一个浮点数组,头
是一个短字符串数组,最长的是“R#70000”
我想将数据
附加到标题
的末尾。为了使形状匹配,我做了
header.reshape(-1,1).transpose() ! produces shape (1,700001)
在追加之前,data.nbytes=513MB
,header.nbytes=1.86MB
,并且重新整形的头大小为1.9MB。我执行追加操作:
data = np.append(header.reshape(-1,1).transpose(),data, axis=0)
此时,data.shape=(96270001)
与预期一致,但大小已飙升至8200 MB
是什么导致了大规模的大小增加?是否有可能numpy
现在将“数据”中的所有值从float
转换为string
,以将它们放在一个数组中,导致它们使用更多的内存?首先将字符串头添加到实际数据中是否真的有意义?你想要实现什么?之后很难“处理”数据,如果只是为了写入文件,还有其他方法。(仍然是一个有趣的问题。)@Aryerez,在appendheader.dtype之前=