我的输入(仅作为示例):
from numpy import *
x=[['1' '7']
['1.5' '8']
['2' '5.5']
['2' '9']]
我想做下一件事情随机矩阵:
1.对于每一行计算:
> for example first row: [1;7]*[1,7] = [[1, 7]; #value * value.transpose
[7, 49]]
> for example second row: [1.5;8]*[1.5,8]= [[2.25, 12];
[12, 64]]
>.......
这很简单numpy,因为转置只是x.T
,如果 x=[1,7]
必须对矩阵上的每一行进行计算!
2.现在我想这样总结...
[1+2.25+... 7+12+...... ]
[ ]
[7+12+.... 49+64+.... ]
所以结果就是这个矩阵。
有任何想法吗?
EDIT2:
x=[['1','7']
['1.5', '8']
['2', '5.5']
['2','9']]
y = x[:, :, None] * x[:, None]
print y.sum(axis=0)
我收到错误:
“列表索引必须是整数,而不是
元组”
但如果 x 是x = numpy.array([[1, 7], [1.5, 8], [2, 5.5], [2, 9]])
那么就可以了,但是我没有这样的输入。