nit*_*tin 8 python matrix matrix-multiplication dot-product pandas
我想做一个pandas数据帧和一系列的矩阵乘法
df = pandas.DataFrame({'a':[4,1,3], 'b':[5,2,4]},index=[1,2,3])
ser = pandas.Series([0.6,0.4])
Run Code Online (Sandbox Code Playgroud)
df是,
a b
1 4 5
2 1 2
3 3 4
Run Code Online (Sandbox Code Playgroud)
ser是,
0 0.6
1 0.4
Run Code Online (Sandbox Code Playgroud)
我想要的结果是矩阵产品,就像这样
ans是,
我可以通过使用numpy点运算符和重建我的dataFrame来做到这一点
c = a.values.dot(b.transpose())
c = pandas.DataFrame(c, index = a.index, columns = ['ans'])
print c
ans
1 4.4
2 1.4
3 3.4
Run Code Online (Sandbox Code Playgroud)
在熊猫中有一个本地方法来做到这一点吗?
Jef*_*eff 14
pandas implicity对齐系列的索引,使用点函数
In [3]: df = pd.DataFrame({'a' : [4,1,3], 'b' : [5,2,4]},index=[1,2,3])
In [4]: s = pd.Series([0.6,0.4],index=['a','b'])
In [5]: df.dot(s)
Out[5]:
1 4.4
2 1.4
3 3.4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10956 次 |
| 最近记录: |