如何有效地从嵌套的 ndarray 中检索所有内部元素/ndarray?


np_array_a = np.array([[1,2], [3,4], [5,0]]) # can have any number of rows but 2 columns
np_array_b = np.array([[5,6], [7,8], [5,0]]) # can have any number of rows but 2 columns
dct={"a": np_array_a, "b": np_array_b}  

我想从dct中提取内部 numpy 元素并创建一个新的 numpy 数组。例如,对于python列表,我可以使用*运算符来提取元素。我知道我可以遍历dct并实现它,但想知道是否有任何numpy方法可以做到这一点?

新的 numpy 数组应采用以下形式:

new_np_array = np.array([[1,2], [3,4], [5,0],[5,6], [7,8], [5,0]]) 

您可以使用索引:

a[0]
#[1,2]

a[1]
#[3,4]

我会使用列表理解:

extract = [item for nested_list in np_array for item in nested_list]
new_array = np.concatenate(list(dct.values()))

结果:

array([[1, 2],
[3, 4],
[5, 0],
[5, 6],
[7, 8],
[5, 0]])

我只会使用vstack

np.vstack([np_array_a,np_array_b])

最新更新