Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将多个大阵列合并为一个?_Python_Arrays_Numpy_Memory Management_Cpu Usage - Fatal编程技术网

Python 如何将多个大阵列合并为一个?

Python 如何将多个大阵列合并为一个?,python,arrays,numpy,memory-management,cpu-usage,Python,Arrays,Numpy,Memory Management,Cpu Usage,我对python相当陌生,我有5个大数组A、B、C、D、E和形状: ((1000000, 8), (1000000, 7), (1000000, 13840), (1000000, 204), (1000000, 3)) 数据类型: (dtype('float64'), dtype('float64'), dtype('int64'), dtype('int64'), dtype('float64')) 现在我想把它们都加入一个形状为 (1000000, 8+7+13840+204+3) =

我对python相当陌生,我有5个大数组A、B、C、D、E和形状:

((1000000, 8), (1000000, 7), (1000000, 13840), (1000000, 204), (1000000, 3))
数据类型:

(dtype('float64'), dtype('float64'), dtype('int64'), dtype('int64'), dtype('float64'))
现在我想把它们都加入一个形状为

(1000000, 8+7+13840+204+3) = (1000000, 14062)
我已经尝试了所有可能的方法(hstack/concate)

但这一切都会扼杀我的系统(Macbook Pro 2017/2.8GHz Intel Core i7/16 GB 2133 MHz LPDDR3),我认为这可能是内核问题,有没有建议我可以用我的计算机来实现这一点?

给定64位(8字节)值,您正在尝试处理:

1000000 * 14062 * 8 * 2 = 224'992'000'000 bytes
末尾的2是因为有输入加上大小相等的输出

这是209Gib的数据。你有16吉布的公羊。这是不可行的。您需要更仔细地考虑如何处理数据,以及如何将数据减少10倍。或者购买一台内存为192 GiB的机器(目前这种情况很可能发生,只是笔记本电脑上没有这种情况)。

给定64位(8字节)的值,您正在尝试处理:

1000000 * 14062 * 8 * 2 = 224'992'000'000 bytes
末尾的2是因为有输入加上大小相等的输出


这是209Gib的数据。你有16吉布的公羊。这是不可行的。您需要更仔细地考虑如何处理数据,以及如何将数据减少10倍。或者买一台有192吉比特内存的机器(这在现在是很有可能的,只是不在笔记本电脑上).

1000000*13840*8~103 GB
这怎么还没有在输入时发出嘎嘎声#3?您需要它们同时存储在内存中吗?
1000000*13840*8~103 GB
这怎么还没有在输入时发出嘎嘎声#3?您需要它们同时存储在内存中吗?