生成ndarray最简单的方法就是array函数,array函数接受任意的序列型对象,生成一个新的包含传递数据的NumPy数组。例子如下:
1
2
3
4
5
6
7
8
9
|
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]]
实例扩展:
矩阵乘:按照线性代数的乘法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> 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()表示的是内积。
点乘:对应位置相乘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> 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 ]]) |
到此这篇关于Python中生成ndarray实例讲解的文章就介绍到这了,更多相关如何在Python中生成ndarray内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/jichu/26768.html