如何将几个大数组合并为一个?
How to join several big arrays into one?
我是 python 的新手,我有 5 个大数组 A、B、C、D、E,其形状为:
((1000000, 8), (1000000, 7), (1000000, 13840), (1000000, 204), (1000000, 3))
dtypes:
(dtype('float64'), dtype('float64'), dtype('int64'), dtype('int64'), dtype('float64'))
现在我想将它们全部连接成一个形状为
的数组
(1000000, 8+7+13840+204+3) = (1000000, 14062)
我已经尝试了所有可能的方法(hstack/concate),
data_feature = np.concatenate((A,B,C,D,E), axis=1)
data_feature = np.hstack([A,B,C,D,E])
data_feature = np.hstack((A,B,C,D,E))
data_feature = np.column_stack([A,B,C,D,E])
但这一切都杀死了我的系统(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 是因为您有输入和大小相等的输出。
那是 209 GiB 的数据。您有 16 GiB 的 RAM。这是不可行的。您需要更深入地考虑如何处理数据,以及如何将数据减少 10 倍。或者购买一台内存为 192 GiB 的机器(这在当今很有可能,只是笔记本电脑不行).
我是 python 的新手,我有 5 个大数组 A、B、C、D、E,其形状为:
((1000000, 8), (1000000, 7), (1000000, 13840), (1000000, 204), (1000000, 3))
dtypes:
(dtype('float64'), dtype('float64'), dtype('int64'), dtype('int64'), dtype('float64'))
现在我想将它们全部连接成一个形状为
的数组(1000000, 8+7+13840+204+3) = (1000000, 14062)
我已经尝试了所有可能的方法(hstack/concate),
data_feature = np.concatenate((A,B,C,D,E), axis=1)
data_feature = np.hstack([A,B,C,D,E])
data_feature = np.hstack((A,B,C,D,E))
data_feature = np.column_stack([A,B,C,D,E])
但这一切都杀死了我的系统(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 是因为您有输入和大小相等的输出。
那是 209 GiB 的数据。您有 16 GiB 的 RAM。这是不可行的。您需要更深入地考虑如何处理数据,以及如何将数据减少 10 倍。或者购买一台内存为 192 GiB 的机器(这在当今很有可能,只是笔记本电脑不行).