【发布时间】:2011-08-15 16:31:21
【问题描述】:
我的输入(仅举例):
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+.... ]
所以结果就是这个矩阵。
有什么想法吗?
编辑2:
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]]) 则没关系,但我没有这样的输入。
【问题讨论】:
-
只需添加矩阵?
-
您确定要将
x设为字符串 的数组吗?