NUMPy-first day study
一、什么是numpy、
NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库
二、如何安装numpy
pip install numpy
三、什么是n维度数组对象
类型为ndarray,区别于list,是python中list的扩展,在进行大多数运算的时候比list更加的高效
四、如何区分一维,二维,多维
判断一个数组是几维,主要看其有几个轴,最简便的方法即是看有几层括号,括号的数量和维度一致。
五、数组的学习
1、常量
(1)、NAN(nan,NaN)是空值,无法比较大小
import numpy as np
np.nan==np.nan
out:False
(2)、inf表示正无穷大
np.inf>np.nan
out:False#无法比较大小
(3)、e表示自然常数
(4)、pi表示圆周率
2、数据类型
bool,int,float,unicode,datetime64,timedelta等
3、转换数据类型(astype)
1、基本类型的转换
#第一种
arr=np.arange(10)
arr1=arr.astype('float')
#第二种
arr.dtype="float"
ps:需要注意类型之间是否能够转换
2、注意:时间类型的数据转换
import numpy as np
import datetime
dt64=np.datetime64('2022-04-15 08:49:10')
dt=dt64.astype(datetime.datetime)
3、如何得到昨天和明天的日期
yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
today = np.datetime64('today', 'D')
tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
4、数组的创建
(1)、一维数组的创建
#第一种
arr=np.arange(10)
#第二种
arr=np.array([0,1,2,3,4])
(2)、多维布尔数组的创建
arr=np.full(shape=(3,3),full_value=3,dtype='bool')
#value大于0的就是TRUE
(3)、全为0的向量数组的创建
arr=np.zero(10)
arr[4]=1
arr
out:[0,0,0,0,1,0,0,0,0,0]
(4)、随机数组的创建
arr=np.random.random((3,3,3))
(5)、创建起点终点步长固定的数组
arr=np.arange(0,20,5)#起点,终点,步长
(6)、导入图像并且转换为数组
from PIL import Image
img=Image.open("文件路径")
arr=np.array(img)