Python Numpy串联占用太多内存。有没有更有效的方法?

Python Numpy串联占用太多内存。有没有更有效的方法?,python,numpy,memory-management,Python,Numpy,Memory Management,我有两个NumPy数组,A和B A有形状(1000000,512)和B有形状(1000000,4),我正在尝试将它们连接起来以获得形状数组(1000000,516) 我的问题是由于某种原因,np.concatenate([A,B],axis=1)占用了太多的内存。检查我的内存使用情况,A和B总共需要大约5GB,但是当我运行连接时,我的ram使用量增加了大约16GB 为什么会这样? 对于大型阵列,是否有更有效的方法执行此操作 我尝试分批进行连接,但没有多大帮助,而且似乎在迭代之间没有释放内存。你能

我有两个NumPy数组,A和B

A有形状(1000000,512)和B有形状(1000000,4),我正在尝试将它们连接起来以获得形状数组(1000000,516)

我的问题是由于某种原因,
np.concatenate([A,B],axis=1)
占用了太多的内存。检查我的内存使用情况,A和B总共需要大约5GB,但是当我运行连接时,我的ram使用量增加了大约16GB

为什么会这样? 对于大型阵列,是否有更有效的方法执行此操作


我尝试分批进行连接,但没有多大帮助,而且似乎在迭代之间没有释放内存。

你能检查两个数组的数据类型吗?两个数组都有数据类型“0”@mikksu我将类型更改为float,它大大减少了内存消耗,实际上解决了我的问题:)谢谢,这花了我很多时间。