numpy回顾
2020-04-04 本文已影响0人
橘猫吃不胖
翻了下之前写的关于Numpy的文章,回顾下:
没找到第一篇,不知道去哪儿了。。。
从头回顾,忘记了基本
附官方教程:https://numpy.org/devdocs/user/quickstart.html
numpy的核心的多维数组N-Dimensional array
,N维数组
初始化一个数组,有几种方式:
1. np.array
a = np.array([1,3,4])
a
![](https://img.haomeiwen.com/i76024/84404c94aa4b13d7.png)
b = np.array( (4,5,6))
b
![](https://img.haomeiwen.com/i76024/7b81214c1fb68cdc.png)
2. np.ones & np.zeros
默认的一些初始化函数
c = np.ones([3,3])
d = np.zeros([2,4])
![](https://img.haomeiwen.com/i76024/50be7666d0bbfd99.png)
3. np.arange
按照特定的规则生成数组
numpy.arange([start, ]stop, [step, ]dtype=None)
f = np.arange(1 , 10)
f
![](https://img.haomeiwen.com/i76024/c02ca03a6e692ca5.png)
g = np.arange(10 , 100 , 5)
g
![](https://img.haomeiwen.com/i76024/952d88df77412b17.png)
4. np.linspace
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
和arange类似,前两个参数一样,表示开始和结束,而第三个参数表示切分为几部分,而不是步长
np.linspace(10 , 100 , 10)
np.linspace(10 , 100 , 4)
![](https://img.haomeiwen.com/i76024/f46150fa47e7a4f2.png)
5. np.random
生成随机数,这个下面有很多好用的函数,可以去官方文档看看
np.random.random(3)
np.random.random((5,5))
![](https://img.haomeiwen.com/i76024/e25654e33159123f.png)
数组的基本信息
![](https://img.haomeiwen.com/i76024/70623b24fa8da7b4.png)
![](https://img.haomeiwen.com/i76024/592600b71ad09e36.png)
关于数组的运算
常规的加减乘除都可以使用
a = np.random.randint(0,10,size=(4,4))
![](https://img.haomeiwen.com/i76024/a1ad4ee5aa29e8af.png)
![](https://img.haomeiwen.com/i76024/e5e800c9df5d43ff.png)
两个矩阵之间同样可以
![](https://img.haomeiwen.com/i76024/84ee37e3d6bd4553.png)
数组之间还有一个特殊的操作
np.dot
![](https://img.haomeiwen.com/i76024/17409ae531e3a064.png)
至于怎么算出来的,这里就不说了,
数组元素的获取
通常使用下标就可以获取数组中的元素,切片同样支持
![](https://img.haomeiwen.com/i76024/efdcb2861f7875a9.png)
之类顺便说下数组的副本和视图,在使用切片时,获取的是数组的视图,也就是一个引用,如果修改了内容, 原来的数组也会发生变化的
![](https://img.haomeiwen.com/i76024/4c712458713b8617.png)
感觉这个数组超过2维,就有点二不太好理解了,哈哈哈
数组的合并与切分
大概有点儿印象就行,用到的时候在研究下
![](https://img.haomeiwen.com/i76024/8934261ebd2640ba.png)
![](https://img.haomeiwen.com/i76024/e5c2b63c8796c557.png)