gpt4 book ai didi

python - 在python中用numpy展平数组的正确有效方法?

转载 作者:IT老高 更新时间:2023-10-28 22:17:43 34 4
gpt4 key购买 nike

我有:

a = array([[1,2,3],[4,5,6]])

我想将其展平,将两个内部列表连接到一个平面数组条目中。我能做到:

array(list(flatten(a)))

但由于列表转换,这似乎效率低下(我想以数组而不是生成器结束。)

另外,如何将其推广到这样的数组:

b = array([[[1,2,3],[4,5,6]], [[10,11,12],[13,14,15]]])

结果应该在哪里:

b = array([[1,2,3,4,5,6],
[10,11,12,13,14,15]])

是否有内置/高效的 numpy/scipy 操作符?谢谢。

最佳答案

您可能需要查看 numpy.flattennumpy.ravel,它们都从 n 维数组返回一维数组。

此外,如果您不打算修改返回的一维数组,我建议您使用 numpy.ravel,因为它不会复制数组,而只是返回数组的 View ,比 numpy.flatten 快得多。

>>>a = np.arange(10000).reshape((100,100))

>>>%timeit a.flatten()
100000 loops, best of 3: 4.02 µs per loop

>>>%timeit a.ravel()
1000000 loops, best of 3: 412 ns per loop

还可以查看 post .

关于python - 在python中用numpy展平数组的正确有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057379/

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