我想创建一个 numpy ndarray,其中包含 ndarray 本身类型的条目。我能够将 ndarrays 包装成另一种类型以使其工作,但我想在不包装的情况下执行此操作。包装 ndarray x
例如字典{1:x}
我能做到
F = np.vectorize(lambda x: {1:np.repeat(x,3)})
F(np.arange(9).reshape(3,3))
并获取 (3,3) ndarray,其中包含条目 {1:[0,0,0]}
... {1:[8,8,8]}
(使用 ndarray)。当改变F
至F = np.vectorize(lambda x: np.repeat(x,3))
numpy 提示 ValueError: setting an array element with a sequence
。我想它会检测到条目本身是数组,并且不会再将它们作为对象构成威胁。
如何避免这种情况并做同样的事情而不将 ndarray 中的条目包装成不同的内容?
提前非常感谢您的提示:)
最佳答案
您可以(ab-)使用numpy.frompyfunc
:
>>> F = np.arange(9).reshape(3, 3)
>>> np.frompyfunc(F.__getitem__, 1, 1)(range(3))
array([array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])], dtype=object)
关于python - 以 numpy 数组为对象的 Numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49047468/