#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))