我需要用熊猫系列做一个简单的计算 Z(2000,1)。W^T(1300)+B.T(1300)
当我执行点积W.Z时,我没有得到(2000,300)矩阵,但是:
dot_product = Z.dot(W.T)
ValueError: matrices are not aligned
当我执行加法时,我得到了一个类似的错误(向量不能被广播)。所以熊猫认为我的向量没有正确的形状,但我看不到罪魁祸首在哪里。我已经做了很多次这样的Numpy没有任何麻烦。。。我需要用Pandas来保存索引并获得一个索引数据帧
Z是形状框架(2000,1),具有时间索引:
Z
2010-01-01 -0.135
2010-01-02 0.786
2010-01-03 0.099
2010-01-04 -0.332
2010-01-05 -0.097
W是形状(300,1)的索引框架:
W
A1 0.344
B1 0.980
C1 0.099
D1 0.983
E1 0.873
B是与W具有相同索引和形状的数据帧
您可以将第二个转置的数据帧转换为numpy数组,然后指定列名:
尽管有列显示,但系列是1d:
S.dot(W)
会由于大小不同而产生不匹配错误与一维数组一样,转置不起任何作用:
使用
newaxis
进行索引将生成具有添加维度的数组:而
dot
也做了同样的事情S[:,None]*W.to_numpy()
也起作用,但S[:,None]*W
不起作用,这表明pandas
不以同样的方式处理broadcasting
。回溯显示pandas
确实发送到numpy.ufunc
,但有自己的包装器相关问题 更多 >
编程相关推荐