Как эффективно получить все внутренние элементы / ndarray из вложенного ndarray? - PullRequest
0 голосов
/ 18 июня 2020
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}  

Я хочу извлечь внутренние элементы numpy из dct и создать новый массив numpy. Например, для списка python я могу использовать оператор * для извлечения элементов. Я знаю, что могу перебрать dct и добиться этого, но мне было интересно, есть ли способ numpy сделать это?

Новый массив numpy должен иметь следующий вид:

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

Ответы [ 4 ]

0 голосов
/ 19 июня 2020

Я бы просто использовал vstack:

np.vstack([np_array_a,np_array_b])
0 голосов
/ 18 июня 2020

Я бы использовал понимание списка:

extract = [item for nested_list in np_array for item in nested_list]
0 голосов
/ 19 июня 2020
new_array = np.concatenate(list(dct.values()))

Результат:

array([[1, 2],
       [3, 4],
       [5, 0],
       [5, 6],
       [7, 8],
       [5, 0]])
0 голосов
/ 18 июня 2020

Можно использовать индексацию:

a[0]
#[1,2]

и

a[1]
#[3,4]
...