数组的属性
t1.dnim数组的维度
t1.shape 数组的形状
t1.size 数组的元素总和
t1.dtype 数组元素的类型
t1.itemsize 每个元素的大小,以字节为单位
创建数组
a = np.array([1,2,4,5,6])
b = np.array(range(1,6))
c = np.arange(12)
修改数组元素的数据类型
t1 = t1.astype(np.float)或者t1 = t1.astype('float')
numpy中的小数
t2 = np.array([random.random() for i in range(10)])
t3 = np.round(t2,2) #修改浮点型小数位数
numpy读取数据
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
frame:文件、字符串或产生器
dtype:数据类型
delimiter:分割字符串,默认是任何空格
skiprows:跳过前x行一般跳过第一行表头
usecils:读取指定的列,索引,元组类型
unpack:如果True,转置。默认False
numpy中的转置
t.transpose()
t.T
t.swapaxes(0,1)
#numpy索引、切片
#取行
print(t1[1])
#取连续的多行
print(t1[2:])
#取不连续的多行
print(t2[[2,4,7]])
#取列
print(t2[:,0])
#取连续的多列
print(t2[:,2:])
#取不连续的多列
print(t2[:,[0,2,3]])
#取多行和多列
print(t2[2:5,1:4])
#取多个不相邻的点
d = t2[[0,2,2],[0,1,3]]选出来的点(0,1),(2,1),(2,3)
#numpy数值的修改
t[t<10]=0 布尔索引
np.where(t<10,0,11) 三元运算符:t小于10的数用0代替,否则用11代替
t.clip(10,18):裁剪,小于10的替换为10,大于18的替换为18
#数组的拼接
np.vstack((t1,t2)) 竖直拼接
np.hstack((t1,t2)) 水平拼接
#数组的行列交换
t[[1,2],:] = t[[2,1],:]第二行和第三行交换
t[:,[0,2]] = t[:,[2,0]]第一列和第三列交换
np.argmax(t,axis=0)获取最大值的位置
np.argmax(t,axis=0)获取最小值的位置
np.zeros((3,4))创建全为0的数组
np.ones((3,4))创建全为1的数组
np.eye(3) 创建一个对角线为1的正方形数组
ndarray.flatten()把一个数组展开为一维数组
#numpy生成随机数
np.random.rand(d0...dn)创建d0-dn维度的均匀分布的随机数数组,浮点数,范围从0-1
np.random.randn(d0....dn)创建d0-dn维度的标准正态分布随机数,浮点数,平均数0,标准差1
np.random.randint(low,high,(shape))从给定上下限范围选取随机数整数,范围是low,high形状是shape
np.random.uniform(low,high,(size))产生具有均匀分布的数组,low起始值,high结束值,size形状
np.random.seed(s)随机种子
#numpy的copy和视图
产生视图的两种方法:numpy的切片操作返回原数据的视图
调用ndarray的view()函数产生一个视图
副本:调用ndarray的copy()函数产生一个副本
#numpy中的nan和inf
nan(not a number)表示不是一个数字
当我们读取本地的文件float的时候,如果有缺失,就会出现nan,当做了一个不合适的计算的时候(
(比如(inf)减去无穷大
1,两个nan是不相等的
2,np.nan != np.nan
3,利用以上的特性,判断数组中nan的个数np.count_nonzero(t!=t)
np.count_nonzero(np.isnan(t))
4,nan和任何值计算都为nan
inf(-inf):infinity,inf表示正无穷,-inf表示负无穷
比如一个数字除于0
#numpy中的常用统计函数
求和t.sum(axis=None)
均值t.mean(axis=None)
中值np.median(t,axis=None)
最大值:t.max(axis=None)
最小值:t.min(axis=None)
极值:np.ptp(t,axis=None)最大值和最小值的差
标准差:t.std(axis=None)
python numpy模块详细知识点
最新推荐文章于 2023-05-24 17:10:05 发布