首页 > 解决方案 > 在尝试组合两个数组时,我在 numpy 中遇到了类型问题

问题描述

当我尝试:

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

标签: pythonpython-3.xnumpy

解决方案


阅读 The Fine Manual,他们在其中清楚地解释了需要hstack()一个类似形状的 ndarray 元组。你不提供那个。

仔细检查data& Ki,以确保它们具有相似的.shape

编辑

这是一个调用示例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 要了解原因,请查看这些表达式之间的区别。


推荐阅读