[英]Get a list from numpy ndarray in Python?
我這里有一個 numpy.ndarray,我試圖將它轉換為一個列表。
>>> a=np.array([[[0.7]], [[0.3]], [[0.5]]])
我正在為此使用 hstack。 但是,我得到了一個列表列表。 我怎樣才能得到一個列表? 我期待得到[0.7, 0.3, 0.5]
。
>>> b = np.hstack(a)
>>> b
array([[0.7, 0.3, 0.5]])
你明白你擁有的是什么嗎?
In [46]: a=np.array([[[0.7]], [[0.3]], [[0.5]]])
In [47]: a
Out[47]:
array([[[0.7]],
[[0.3]],
[[0.5]]])
In [48]: a.shape
Out[48]: (3, 1, 1)
那是一個 3d 數組 - 計算 []
您可以使用以下方法將其轉換為 1d:
In [49]: a.ravel()
Out[49]: array([0.7, 0.3, 0.5])
tolist
將數組轉換為列表:
In [50]: a.ravel().tolist()
Out[50]: [0.7, 0.3, 0.5]
您也可以使用a[:,0,0]
。 如果您使用hstack
,它會部分變平 - 但不會一直到 1d。
In [51]: np.hstack(a)
Out[51]: array([[0.7, 0.3, 0.5]])
In [52]: _.shape
Out[52]: (1, 3)
In [53]: np.hstack(a)[0]
Out[53]: array([0.7, 0.3, 0.5])
或者,可以使用numpy.ndarray.flatten
:
a.flatten().tolist()
還有另一種可能性:
a.reshape(-1).tolist()
輸出:
[0.7, 0.3, 0.5]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.