gpt4 book ai didi

python - 如何在 Python 中将一个数组中的多列堆叠在一起?

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:31 24 4
gpt4 key购买 nike

比如数组的shape是5,4

a = np.random.randint(10, size= (5, 4))

a =
[[1 4 5 0]
[3 1 5 1]
[4 8 0 9]
[8 1 5 8]
[6 4 7 4]]

我希望数组 reshape 为:

a = 
[[1 4]
[3 1]
[4 8]
[8 1]
[6 4]
[5 0]
[5 1]
[0 9]
[5 8]
[7 4]]

我的原始数组大小约为 200 GB,形状为 80000*480600。我曾尝试使用重新映射模式,但速度很慢。

最佳答案

使用numpy.hsplitnumpy.concatenate :-

>>> a = np.random.randint(10, size= (5, 4))
>>> a
array([[8, 5, 8, 9],
[9, 5, 6, 3],
[5, 3, 8, 7],
[9, 0, 9, 9],
[0, 7, 8, 0]])
>>> t = np.hsplit(a, 2)
>>> t
[array([[8, 5],
[9, 5],
[5, 3],
[9, 0],
[0, 7]]), array([[8, 9],
[6, 3],
[8, 7],
[9, 9],
[8, 0]])]
>>> np.concatenate([t[0], t[1]])
array([[8, 5],
[9, 5],
[5, 3],
[9, 0],
[0, 7],
[8, 9],
[6, 3],
[8, 7],
[9, 9],
[8, 0]])

关于python - 如何在 Python 中将一个数组中的多列堆叠在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57147205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com