1.数组相关
1.创建数组
a = np.array(1,2,3) b = np.array([[1,2,3],[4,5,6],[7,8,9]])
2.快速创建
a = np.arange(5) # [0 1 2 3 4]
a = np.arange(2,5,1) #创建初始值为2,终值为5,步长1的数组 [2,3,4]
a= np.linspace(2,5,4) #创建初始值为2,终值为5,元素为4的的等差数组[2,3,4,5]
a = np.empty(5)创建哥哥元素,值为随机数(速度快)
a= np.zeros(5)#创建5个值全为0的数组
a =np.ones(1)#创建5个值全为1的数组
a = np.full(5,6)创建5个值全为6的数组
a = np.random.randint(1,3,5)#创建最小值为1最大值为3(不包含最大值)元素为5的整型数组 [1,1,2,1,2]
3.添加元素
np.append(0),np,insert(a,0,0)
4.删除元素
np.delete(a,3)
5.修改元素
a = np.array([1,2,3,4,5])
a[0] = 8 #[8,2,3,4,5]
a[2:4] = [88,77] [8,2,88,77,5]
2.常用函数
1.where函数
x = np.where(condition,y,z)#condition,y,z都是大小相同的数组(或用于生产数组的表达式)
x = np.arnage(10)
print(np.where(x< 5, x, 9-x)) #(0,1,2,3,4,4,3,2,1,0)
2.select函数
select(condelist,choicelist,default=0)
a = np.arange(10)
print(np.select([a<3,a>6],[-1,1],0)) #[-1 -1 -1 0 0 0 0 1 1 1]
3.picewise函数是select函数的扩展不但支持按照不同条件取值,还支持按条件原型不同的函数或者lambda表达式
piecewise(x,condlist,funclist)
a = np.arange(10)
print(np.piecewise(a,[a<3,a>6],[func1,func2]))
print(np.piecewise(a,[a<3,a>6],[lambda a: a*2 ,func2])) #[ 0 2 4 0 0 0 0 21 24 27]
4.均值mean print(a.mean())
5.方差var print(a.var())
6.标准差std print(a.std())
7.极值 最大值 max 最小值 min 最大值和最小值之差ptp
8.用argmin获取最小值的下标 用argmax获取最大值得下标
9.argsort计算每个元素排序后的下标位置