python - 给定返回 n 维数组的函数,如何创建 n+1 维数组

标签 python python-3.x numpy

使用 numpy 和 python3 我必须解决以下问题:

我有一个函数,它返回固定大小的整数的二维数组(在本例中为 2x3)。运行此函数 n 次并将它们堆叠在一起形成 3 维 2x3xn 数组的最惯用方法是什么?性能怎么样?只进行最小分配数量的东西会很好。

最佳答案

您可能正在寻找np.dstack :

>>> import numpy as np
>>> arrs = [np.random.rand(2, 3) for x in range(5)]
>>> np.dstack(arrs).shape
(2, 3, 5)

如果您知道最终形状,您可以执行如下操作:

>>> out = np.empty((2, 3, 5))
>>> out[..., 0] = np.random.rand(2, 3)

关于python - 给定返回 n 维数组的函数,如何创建 n+1 维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813207/

相关文章:

python - 在 argparse 中使用 numpy 数据类型

python - 快速查找数组中重复元素的长度和起始索引的方法

java - Eclipse 不会覆盖括号

python - 我可以精确控制cythonize生成的.c文件的位置吗?

python - 使用字符串似乎比在 Python 3.x 中需要的更麻烦

python - 在 Python 3 中使用 Open Arbitrary 标签解析 SGML

python - 需要使用 argparse 传递带单引号的字符串参数

python - 使 sklearn 中的网格搜索功能忽略空模型

Python/ Pandas : Compare multiple columns in two dataframes and remove row if no matches found

python - 结构化二维 Numpy 数组 : setting column and row names