首页 > 解决方案 > 矩阵乘法,熊猫错误还是行为与我的预期不同?

问题描述

设置

t = np.linspace(0,1,20)
T = pd.DataFrame(np.column_stack([t, t**2]), columns=['t','t^2'])

B = pd.DataFrame(np.row_stack((b1,b2) for b1 in np.linspace(-1.5,1.5) for b2 in np.linspace(-1.5,1.5)), columns=['b1','b2'])

我想做的事

T @ B.T

什么有效,但似乎意味着另一个也应该有效....

T @ B.to_numpy().T

由于尺寸很好,它似乎应该可以工作。唯一让我相信它不应该起作用的是索引没有以相同的方式标记,但是 Pandas 应该假设我只想进行矩阵乘法,不是吗?

这些都工作...

B.T @ B
T.T @ T

B @ B.T
T @ T.T

所以对我来说这似乎是一个错误,但我想获得第二意见。

标签: pythonpandasnumpy

解决方案


推荐阅读