,通過與對角線訴矩陣的矩陣C的矩陣乘法
例如,這裏有一個系列v和數據幀C:
In [65]: v
Out[65]:
0 1
1 -2
2 5
dtype: int64
In [66]: C
Out[66]:
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
4 12 13 14
這裏的產品:
In [67]: C.dot(np.diag(v))
Out[67]:
0 1 2
0 0 -2 10
1 3 -8 25
2 6 -14 40
3 9 -20 55
4 12 -26 70
你也可以使用元素乘法和廣播來計算。數據幀multiply
方法和*
操作手柄廣播,所以你可以寫:
In [102]: C * v
Out[102]:
0 1 2
0 0 -2 10
1 3 -8 25
2 6 -14 40
3 9 -20 55
4 12 -26 70
,用50行100列的數據幀的一些測試表明,它是更有效的與numpy的陣列工作,如下:
In [113]: C.values * v.values
Out[113]:
array([[ 0, -2, 10],
[ 3, -8, 25],
[ 6, -14, 40],
[ 9, -20, 55],
[ 12, -26, 70]])