生成ndarray最简单的方法就是array函数,array函数接受任意的序列型对象,生成一个新的包含传递数据的NumPy数组。例子如下:

import numpy as np
data1 = [1, 2, 3, 4]
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr1 = np.array(data1)
arr2 = np.array(data2)
arr1 = arr1 * 10
arr2 = arr2 + arr1
print(arr1)
print(arr2)

结果如下

[10 20 30 40]

[[11 22 33 44]

[15 26 37 48]]

实例扩展:

矩阵乘:按照线性代数的乘法

>>> a = np.array([[1,2,3], [2,3,4]])
>>> b = np.array([[1,2], [3,4], [5,6]])
>>> a
array([[1, 2, 3],
  [2, 3, 4]])
>>> b
array([[1, 2],
  [3, 4],
  [5, 6]])
>>> np.dot(a, b)  #方法一
array([[22, 28],
  [31, 40]])
>>> np.matmul(a,b) #方法二
array([[22, 28],

注:一维数组之间运算时,dot()表示的是内积。

点乘:对应位置相乘

>>> a = np.array([[1,2],[3,4]])
>>> b = np.array([[1,1],[2,2]])
>>> a
array([[1, 2],
  [3, 4]])
>>> b
array([[1, 1],
  [2, 2]])
>>> a * b     #方法一
array([[1, 2],
  [6, 8]])
>>> np.multiply(a, b) #方法二
array([[1, 2],
  [6, 8]])
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。