簡體   English   中英

遍歷對象numpy數組的方法

[英]Method to ravel an object numpy array

我有一個像這樣的對象numpy ndarray:

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

是否有類似np.ravel()方法來展平此數組? 例如:

[1,2,2,3,4,2,3,5,4,6,3]

您可以使用np.concatenate轉換為“扁平化”的numpy數組,如下所示-

In [355]: obj1 = np.array([np.array([1, 2]), np.array([2]), np.array([3]), np.array([4, 2, 3]),
     ...:    np.array([5, 4]), np.array([6, 3])], dtype=object)

In [356]: np.concatenate(obj1)
Out[356]: array([1, 2, 2, 3, 4, 2, 3, 5, 4, 6, 3])

然后,您可以使用.tolist()轉換為列表-

In [357]: np.concatenate(obj1).tolist()
Out[357]: [1, 2, 2, 3, 4, 2, 3, 5, 4, 6, 3]

您可以使用numpy.concatenate ,顧名思義,它將數組的列表/數組連接成扁平的numpy -array:

import numpy as np
from numpy import array

# some test data
a = array([array([1, 2]), array([2]), array([3]), array([4, 2, 3]),
    array([5, 4]), array([6, 3])], dtype=object)

np.concatenate(a)
# array([1, 2, 2, 3, 4, 2, 3, 5, 4, 6, 3])

暫無
暫無

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

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