建立numpy数组,输出三维数据的维度,形状,数据类型:
import pandas as pd import numpy as np l=[1,2,3,4,“32a”]#numpy可以放混合的对象 data1=np.array(l) data2=np.array([l,l]) data3=np.array([[l,l,l],[l,l,l],[l,l,l]]) print(l) print(data3) print(data3.ndim,data3.shape,data3.dtype) data4=np.arange(1,10)#比range多一个a 有1没有10!! print(data4)
建立特殊数组
import pandas as pd import numpy as np data=np.zeros((2,3,4,5))#零矩阵 print(data) data=np.ones((2,4,3))#一矩阵 r=np.random.rand(3,5)#随机数矩阵,上面的矩阵有两重括号,这个只有一个 print(r)
改变矩阵形状
import pandas as pd import numpy as np data=np.zeros((2,3,4,5)) print(data) data=data.reshape((2,2))#改变矩阵的形状 print(data)
索引和切片
import pandas as pd import numpy as np data=np.random.rand(6,4) data=data[1:4,2:3]#从1到3,从2到2 print(data) # data=data>0.5#广播 print(data>0.5) print(data[data>0.5])#得到的是一维数组
import pandas as pd import numpy as np data=np.random.rand(6,4) print(data) print(data.T)#转置 print(np.transpose(data))#转置
常用的数据方法
import pandas as pd import numpy as np data=np.random.rand(1,9) print(data) print(data.mean()) print(data.sum()) print(data.max()) print(data.min()) print(data.std()) print(data.argmax()) print(data.argmin()) print(data.cumsum()) print(data.cumprod()) import pandas as pd import numpy as np import time a=np.random.rand(5,3) print(a) print(np.mean(a,axis=1))#指定轴的方向 print(np.all(a*10<5))#返回一个true或者false print(np.any(a*10<5))#返回一个true或者false print(np.unique(a))
代码向量化
import pandas as pd import numpy as np import time a=np.arange(100000,dtype=float)#array和arange不一样 b=np.arange(100000,0,-1,dtype=float) c=np.arange(100000,dtype=float) result=[] begin=time.time() for i,j,k in zip(a,b,c):#zip函数,表示一起循环i,j,k result.append(i*j-k) end=time.time() print(end-begin) print(len(result))
通用函数
import pandas as pd import numpy as np import time a=np.random.rand(5,3) print(a) print(np.ceil(a*43))#向上取整 print(np.floor(a*31))#向下取整 print(np.rint(a*73))#四舍五入 print(np.isnan(a))#是否为非数字 返回和a一样大小的矩阵 print(np.multiply(a,4))#向量相乘 print(np.divide(a,4))#向量相除