Как объединить несколько массивов внутри элемента списка в Python?

#arrays #python-3.x #numpy

#массивы #python-3.x #numpy

Вопрос:

У меня есть вопрос, касающийся объединения нескольких массивов в один массив. У меня есть список длиной 1000, и в каждом элементе списка есть 16 массивов размерностью 100, чего я хочу добиться, так это списка из 1000 элементов, и каждый элемент имеет массив размерностью 1600. Как я могу этого добиться: Я попробовал следующее: x=np.concetate(x, axis=0) который возвращает размеры 16’000 x 100 и x=np.concetate(x, axis=1) который возвращает размеры 16 x 100’000. Я также пробовал x=np.vstack и x=np.hstack , но я не смог получить это сам. Кто-нибудь может мне помочь?

Спасибо!

Редактировать: Минимальный рабочий образец:

У меня есть что-то вроде этого, сначала в dataframe

 Date    | Company A     | Company B     | Company C ...  
1.01.16 | [1, 2, 3 ...] | [4, 5, 6 ...] | [7, 8, 9 ...]
...
  

Затем я преобразовал его в список с помощью df.values.tolist() , и теперь я хотел бы иметь что-то подобное:

 [1,2,3,...,4,5,6,...,7,8,9...] 
  

для каждой строки в dataframe.

Комментарии:

1. Я думаю, вы можете сделать np.reshape(x,(1000,1600)) . Если вы опубликуете минимальный рабочий пример, пользователям будет проще помогать вам. Например, вы ничего не указали о порядке элементов в списках и т.д.

2. @tch Я попытался добавить минимальный рабочий пример, чтобы было понятно.

3. И я понял, что это сработало с вашим подходом, большое вам спасибо!

Ответ №1:

На самом деле вопрос заключается в изменении формы массива numpy. Вам просто нужно использовать метод numpy reshape . Reshape принимает существующий массив numpy и 2 новых измерения, затем копирует результат в новый объект. Например, в вашем конкретном случае

a = np.reshape(x,(1000,1600))