对象未对齐错误

时间:2012-07-25 23:55:34

标签: arrays numpy python-2.7

我正在使用python 2.7 并尝试使此代码工作并继续收到错误

nsample = 50
sig = 0.25
x1 = np.linspace(0,20, nsample)
X = np.c_[x1, np.sin(x1), (x1-5)**2, np.ones(nsample)]
beta = masterAverageList
y_true = np.dot(X, beta)
y = y_true + sig * np.random.normal(size=nsample)

但是我不断得到对象没有对齐错误 我认为它与主平均列表是列表有关吗?

我忘了提到主数组列表中有196个项目,如果重要的话。它们都是花车

我该如何纠正?

感谢您的任何建议

1 个答案:

答案 0 :(得分:2)

您应该阅读numpy广播herehere。您试图在两个具有不兼容形状的阵列之间获取点积。

>>> import numpy as np
>>> x1 = np.linspace(0,20,50)
>>> X = np.c_[x1,np.sin(x1),(x1-5)**2,np.ones(50)]
>>> beta = np.ones(196)
>>> y_true = np.dot(X,beta)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: matrices are not aligned
>>> X.shape
(50, 4)
>>> beta.shape
(196,)

我不确定该推荐什么,因为我不知道你在这些阵列之间采用点积所期望的是什么。