При попытке объединить два массива у меня есть проблема типа в NumPy - PullRequest
1 голос
/ 14 апреля 2019

Когда я пытаюсь:

data_f = hstack([data,Ki])

Я получаю:

TypeError: объект списка не вызывается.

У меня есть 'гуглил напрасно безрезультатно.Что я пропустил?

Я успешно создал два массива, которые хочу объединить:

data = []
data = np.vstack([data1,data2,data3,data4,data5,data6,data7,data8,data9,data10])

A = []
A = data[:,1]

Ki = []
Ki = np.exp((1000*A)/(Rcal*Tk))

name_s = name+'_Ki'
np.savetxt(name_s,[A],newline='\n',delimiter = ' ')

data_f = []

hstack = []
data_f = hstack([data,Ki])

1 Ответ

1 голос
/ 14 апреля 2019

Пожалуйста, Прочитайте руководство пользователя , где они четко объясняют, что hstack() хочет кортеж ndarrays аналогичной формы. Вы не поставляете это.

Тщательно осмотрите data & Ki, чтобы убедиться, что они имеют .shape

EDIT

Вот пример вызова hstack():

>>> a = np.array(range(3)).reshape(3, 1)
>>> b = np.array(range(12)).reshape(3, 4)
>>> a.shape, b.shape
((3, 1), (3, 4))
>>> np.hstack((a, b))
array([[ 0,  0,  1,  2,  3],
       [ 1,  4,  5,  6,  7],
       [ 2,  8,  9, 10, 11]])

Обратите внимание, что создание a просто np.array(range(3)) не будет работать. Чтобы понять почему, посмотрите на разницу между .shape из этих выражений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...