建立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))#向量相除