簡體   English   中英

以 numpy 數組作為對象的 Numpy 數組

[英]Numpy array with numpy arrays as objects

我想用 ndarray 本身類型的條目創建一個 numpy ndarray。 我能夠將 ndarrays 包裝成另一種類型以使其工作,但我想在不包裝的情況下執行此操作。 將 ndarray x包裝到例如字典{1:x}我可以做到

F = np.vectorize(lambda x: {1:np.repeat(x,3)})
F(np.arange(9).reshape(3,3))

並使用條目{1:[0,0,0]} ... {1:[8,8,8]} (使用 ndarrays)獲取 (3,3) 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM