【发布时间】:2018-11-21 20:58:06
【问题描述】:
我有两个不同的列表,我必须在 python 中应用 numpy 的 np.dot 函数 我该怎么做?
list1=
array([[ nan, nan],
[ 0.000829, 0.000326],
[-0.000149, -0.00033 ],
...,
[-0.000757, -0.000737],
[-0.000795, -0.00068 ],
[-0.000788, -0.00069 ]])
list2 =
array([[ nan, nan],
[ nan, nan],
[-0.000829, -0.000326],
...,
[ 0.000763, 0.000738],
[ 0.000757, 0.000737],
[ 0.000795, 0.00068 ]])
这是两个单独的列表列表
所以我想这样做:
np.dot([-0.000149, -0.00033 ], [-0.000829, -0.000326])
原来如此
np.dot(list1[3], list2[3])
它继续从一个列表中选择一个索引,从另一个列表中选择一个索引 那应该返回一维数组,问题是数据,它在两个单独的列表中,所以我需要一个列表中的索引和另一个列表中的一个索引,我知道它可以通过循环完成,但不确定怎么可能,
我希望现在很清楚
【问题讨论】:
-
@lucidbrot 是的,它是一种矩阵乘法
-
@timgeb 我还没有输出,但是在矩阵乘法之后它应该是一个一维列表
-
@id101112 好的,apparently the dot function is defined for more shapes than I expected 但建议使用
list1 @ list2。您的问题需要一些关于np.dot(list1, list2)有什么问题的额外信息 -
@id101112
list1不是向量,它是矩阵。您如何期望矩阵乘法在不转置任一列表的情况下工作?而且我认为结果永远不可能是一维的。你有Nx2形状的矩阵,所以它至少是二维的,对吧? -
让我再编辑一下我的问题,可能不是很清楚,
标签: python python-3.x numpy