What I cannot create, I do not understand.
——Richard Phillips Feynman
一、NumPy库的使用
这个库有很多操作多维数组的便捷方法。
-
昨天在pycharm安装了numpy,matplotlib库,命令行用python解释器却无法调用这两个库,又在命令行下载安装了库。原来直接在系统管理员下输入命令 pip install numpy
然后顺便更新了pip版本
命令行下载安装东西超炫酷的!!!!难怪很多人喜欢vim呢
-
生成numpy数组
-
数组的算术运算
-
numpy生成二维数组(矩阵)
shape查看矩阵形状
dtype查看矩阵元素的数据类型,这里是int32,32位整型(我装的32位python)
三维数组及三维以上的数组,称为张量tensor
标量和矩阵相乘就是一种广播功能的体现,相当于把标量扩充成一个和矩阵相同的size,但所有元素都是那个标量然后对应相乘。下面的例子更鲜明:
相当于把向量(2,5)变为了矩阵([2,5],[2,5]),然后element-wise product
- 矩阵元素的访问
索引从0开始
自己试着写了下column,发现row 和column在这里得到结果一样的,以后还是不要用column了,可能在python里并不表示列
- flatten()函数可以把矩阵变为一维数组
获取对应索引的元素
二、Matplotlib库
画sin(x)的图像
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,6,0.1)#生成数据
y1=np.sin(x)
y2=np.cos(x)
#画图
plt.plot(x,y1,label="sin")
plt.plot(x,y2,linestyle="--",label="cos")
plt.xlabel("x")
plt.ylabel("y")
plt.title("sin & cos")
plt.legend()
plt.show()
显示图像
import matplotlib.pyplot as plt
from matplotlib.image import imread
img=imread('0.png')
plt.imshow(img)
plt.show()
直接把图片的原路径写进程序读不出来,没看懂报的错,于是直接把图片ctrl+v到当前python文件目录下的了(src下)