import numpy as np
from numpy import *
#print(eye(7)) #对角矩阵
# n1=np.array([[1,2,3],[4,5,6],[7,8,9]],dtype=int) #可指定数据类型
# print(n1)
# n2=np.array(n1,copy=True) #copy复制数组
# print(n2)
# n3=np.array(n1,ndmin=3) #ndmin控制最小维数
# print(n3)
# n=np.empty([2,3],dtype=int) #创建指定纬度和数据未初始化的数组 dtype= 默认为浮点型float
# print(n)
# n=np.zeros([2,3]) #指定纬度 zeros填充0 ones填充1
# print(n)
# n=np.full([2,3],6) #指定数填充
# print(n)
# n=np.arange(1,20,4) #arange返回数组,range返回列表 左闭右开
# print(n)
# n=np.linspace(7500,10000,6,endpoint=False) # linspace等差数列,第三个值表生成数组的样本数量,左闭右闭,endpoint=false则不包含终止值
# print(n)
# n=np.logspace(0,3,4,base=3,dtype=uint64) #base为对数log的底数,即倍数 int最大数值为+-2147483648
# print(n)
#生成随机数组
# n=np.random.randint(3,100,size=(2,3)) #rand()随机生成0-1间的数,可指定维数 randn()从正态分布中返回随机数组
# print(n) #randint()随机生成范围内的数,与arange()类似 size指定维度
# n=np.random.normal(0,0.1,10) #normal生成正态分布随机数,第一个值表均值,第二个表标准差,越大越低
# print(n)
#从已有数组中创建数组
# n=np.asarray([(1,2),(3,4)]) #类似array(a),a可以是列表元组或组合
# print(n)
# n=np.frombuffer(b'mingrisoft',dtype='S2') #frombuffer将字符串转换成数组 s2即两个一组
# print(n) #字符串默认为unicode类型,要改为byte string类型,所以前加b
# iterable=(x*2 for x in range(5))
# n=np.fromiter(iterable,dtype=int) #fromiter通过迭代对象建立数组
# print(n)
# n=np.full_like([[1,2],[3,4]],7) #创建一个相同纬度但未初始化数据的数组 zeros_like数据以0填充 ones_like以1填充
# print(n) #full_like可指定填充值
#数组基本操作
#对应位置上进行加减乘除幂+ - * / **
# n1=np.array([1,2])
# n2=np.array([3,4])
# print(n1==n2) #比较运算
# n1=np.linspace(7500,10000,6,dtype=int)
# print(n1)
# print(n1/1000) #标量运算 '广播机制'
#索引切片
# n1=np.array([[1,2,3],[4,5,6]])
# print(n1[0][2])
# n1=np.array([1,2,3,4,5,6,7,8,9,10])
# print(n1[::-1]) #反转数组 #步长为负值,从右往左
# print(n1[:-3:-1]) #输出倒数第三个到倒数第一个,不包括倒三
# print(n1[-3:-5:-1]) #倒三到倒五,不含倒五
# print(n1[-5::-1]) #倒五到最后一个
# n=np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(n[1,2]) #,二维数组逗号分行列
#数组重塑
# n=np.array([1,2,3,4,5,6])
# print(n.reshape([2,3])) #reshape()重新设置纬度
#数组转置
# n=np.arange(24).reshape(4,6)
# print(n)
# print(n.T) #T属性
# print(n.transpose()) #transpose()函数
#数组增删改查
# n1=np.array([[1,2],[3,4],[5,6]])
# n2=np.array([[10,20],[30,40],[50,60]])
# print(np.hstack((n1,n2))) #hstack()水平方向增加数据,加列
# print(np.vstack((n1,n2))) #vstack()竖直方向增加,加行
# n=np.array([[1,2],[3,4],[5,6]])
# print(n,'\n')
# print(np.delete(n,1,1),'\n') #删除第二列 第三个值axis规定行列
# print(np.delete(n,(0,1),0)) #删除第一二行
# n1=np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(n1)
# n1[1,1]=55 #修改指定位置
# print(n1)
#数组查询
# n=np.arange(10)
# print(n)
# print(np.where(n>5,1,0)) #yes 1 no 0 不指定则返回满足值
numpy 数组操作
最新推荐文章于 2024-07-20 17:12:48 发布