![](/img/trans.png)
[英]Pandas ValueError: Buffer has wrong number of dimensions (expected 1, got 2)
[英]pandas: Buffer has wrong number of dimensions (expected 1, got 2) when using hstack
我正在尝试使用 np.hstack 一些值。 但是我收到以下错误:
Buffer has wrong number of dimensions (expected 1, got 2)
我堆叠的行是:
s= np.hstack((np.array([cell_name, freq]).reshape((1,-1)),pred,y1_a,y1_b,y1_c,y2_a,y2_b,y2_c,y3_a,y3_b,y3_c,df[output_name].iloc[i].values.reshape(1,-1)))
我检查了数组中每个元素的形状,它们都具有相同的第一个维度 1。有什么想法吗?
ps:我正在尝试处理的dataframe的长度是2,这个堆叠是在for循环中完成的,如下所示:
for i in range(df.values.shape[0]):
s= np.hstack((np.array([cell_name, freq]).reshape((1,-1)),pred,y1_a,y1_b,y1_c,y2_a,y2_b,y2_c,y3_a,y3_b,y3_c,df[output_name].iloc[i].values.reshape(1,-1)))
您必须更详细地调试。 您可以尽可能长时间地尝试hstack
。 某处输入必须是二维的。
我想你可以试试这个。
for i in reange(df.shape[0]):
my_list = [np.array([cell_name, freq]).reshape((1,-1)), pred, y1_a, y1_b, y1_c, y2_a, y2_b, y2_c, y3_a, y3_b, y3_c, df[output_name].iloc[i].values.reshape(1,-1)]
for j in range(len(my_list)):
print(f'run: {j}')
print(my_list[j].shape)
tup = tuple(my_list[:j])
s = np.hstack(tup)
如果这不起作用,您应该发布 numpy arrays。 也许您可以创建一个不起作用的最小示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.