Изменить форму массивов в Python

Мне нужно преобразовать два массива в определенную форму

import numpy as np
x = np.array([(1, 2, 3, 4, 5), (6, 7, 8, 9)])
y = np.array([(10, 11, 12, 13, 14), (15, 16, 17, 18)])

Я уже использовал np.column_stack(x,y)

np.column_stack((x,y))

получить:

array([[(1, 2, 3, 4, 5), (10, 11, 12, 13, 14)],
       [(6, 7, 8, 9), (15, 16, 17, 18)]])

однако теперь мне нужен массив, чтобы получить следующую форму:

array([[(1, 2, 3, 4, 5, 10, 11, 12, 13, 14)],
       [(6, 7, 8, 9, 15, 16, 17, 18)]])

Это возможно?

Спасибо!!

Объединить по оси 1

Mad Physicist 22.05.2019 14:26

Вы точно показываете скобки и скобки?

Mad Physicist 22.05.2019 14:30

Привет, @stijn, не забывай, что ты можешь голосовать и принимать ответы, см. Что мне делать, когда кто-то отвечает на мой вопрос?

yatu 22.05.2019 15:23

@yatu Я сделал, но, поскольку я новичок, он не зарегистрировал это или что-то в этом роде

Stijn Roovers 22.05.2019 15:36
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
4
118
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Стекирование вводит новое измерение. Вы хотите конкатенацию по столбцам (ось существующий 1):

np.concatenate((x, y), axis=1)

Это дало мне следующую ошибку: AxisError: ось 1 выходит за пределы массива размерности 1.

Stijn Roovers 22.05.2019 14:32

@Stijn. Ааа. Вы действительно используете кортежи? Почему?

Mad Physicist 22.05.2019 14:40
Ответ принят как подходящий

Учитывая, что у вас есть массив tuples, вы можете добавить их вдоль первой оси:

np.sum([x,y], axis=0)[:,None]

[[(1, 2, 3, 4, 5, 10, 11, 12, 13, 14)]
 [(6, 7, 8, 9, 15, 16, 17, 18)]]

Спасибо, это сделало это для меня!

Stijn Roovers 22.05.2019 14:31

Однако обратите внимание, что для определения внутренних массивов в массиве numpy вы должны использовать скобки, а не круглые скобки. В противном случае у вас будет массив кортежей, и вы не сможете применять большинство векторизованных операций.

yatu 22.05.2019 14:33

@Stijn. Вы должны выбрать этот ответ, нажав на галочку рядом с ним

Mad Physicist 22.05.2019 14:40

пытаться

import numpy as np
x = np.array([(1, 2, 3, 4, 5), (6, 7, 8, 9)])
y = np.array([(10, 11, 12, 13, 14), (15, 16, 17, 18)])
np.sum([x,y], axis=0)

массив([(1, 2, 3, 4, 5, 10, 11, 12, 13, 14), (6, 7, 8, 9, 15, 16, 17, 18)], тип = объект)

Это должно работать!

z = np.column_stack((x,y))
out = np.array([tuple(np.concatenate(z[0,:])), tuple(np.concatenate(z[1,:]))]).reshape((2,1))

Другие вопросы по теме