【问题标题】:Dot product of multiple numpy arrays [duplicate]多个numpy数组的点积[重复]
【发布时间】:2017-10-08 19:15:57
【问题描述】:

我在 Python3 中有以下代码:

  matrix = np.array([[1,2,3],
                     [2,3,4],
                     [5,3,4]])

  sig_d1 = np.array([[1, 0, 0],
                    [0, 0, -1],
                    [0, -1, 0]])


 sig_d2 = np.array([[1, 0, 0],
                    [0, 0, 1],
                    [0, 1, 0]])

 for i in range(1,3):
     product=np.dot(sig_d+i,matrix)

但是,我得到了错误:

product = np.dot(sig_d+i,matrix.transpose())
     NameError: name 'sig_d' is not defined

有人可以提供一些支持吗?

【问题讨论】:

  • 查看错误信息

标签: python numpy dictionary dot-product


【解决方案1】:

Python 不允许您以尝试的方式动态访问变量。最好的方法是将数组放入字典中并通过键字符串访问值。

array_dict = {'sig_d1' : sig_d1, 'sig_d2' : sig_d2}

for i in range(1,3):
    product = np.dot(array_dict['sig_d{}'.format(i)], matrix)

如果您有更多数组,我会推荐一种更智能的方式来初始化您的 array_dict,可能通过循环或 dict 理解

【讨论】:

  • 我明白了!所以,我正在尝试基于此实现。非常感谢
猜你喜欢
  • 2013-07-16
  • 1970-01-01
  • 2021-04-18
  • 2018-10-10
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
相关资源
最近更新 更多