numpy的基础知识

numpy属性

>import numpy as np
>array=np.array([[1,2,3],[2,3,4]])
>print(array)
>print(array.ndim)
>print(array.shape)#行列
>print(array.size)#共有多少元素
>

numpy创建array

>import numpy as np
>a=np.array([2,23,4],dtype=np.int)#定义整数,也可定义浮点数
>b=np.zeros((3,4))#定义一个3行4列的零矩阵
>c=np.ones((3,4))
>d=np.arange(10,20,2)#定义10到20间隔为2的数列
>a=np.arange(12).reshape((3,4))
>a=np.linspace(1,10,5)#生成1-10均分为5段的数列
>

numpy的基础运算

#加减乘除
>c=a+b
>print(b<3)#判断b中哪些元素<3
>c=a*b  #逐个相乘
>c_dot=np.dot(a,b)  #矩阵乘法
>c_dot_2=a.dot(b)   #矩阵乘法方法2
>a=np.random.random((24))  #随机生成矩阵
>np.sum(a,axis=1/0)  #第列/行的和

>np.argmin(A)  #最小值的索引,得到位置
>np.mean(A)   #求平均值
>np.median(A)  #中位数
>np.cumsum(A)  #逐步累加,第i位是前i个数的和
>np.diff(A)   #相近数的差
>np.nonzero(A)  #返回非零元素的索引
>np.sort(A)    #逐行排序
>np.transpose(A)   #转置
>np.clip(A,5,9)     #保留5-9之间的数,所有大于9的等于9,所有小于5的等于5
>

numpy索引

>A=np.arrange(3,15).reshape(3,4)
>A[1][1]  #索引行列
>A[2,1]   #行列索引
>A[1,1:3]

#用for循环默认索引行
>for row in A:
>   print(row)

#迭代列,得先转置,再用for
>for column in A.T:
>    print()

#迭代元素
>for item in A.flat:
>   print(item)

numpy的array合并

>A=np.array([1,1,1])
>B=np.array([2,2,2])
>print(np.vstack((A,B))) #上下合并,变成2行3列的,第一行为为A,第二行为B
>np.hstack((A,B))   #左右合并,(1,1,1,2,2,2)
>A[:,np.newaxis]   #行变列,一维不能用转置
>np.concatenate((A,B...),axis=0/1)  #多个合并,指定用哪个维度合并
>

numpy的array分割

>A=np.arange(12).reshape(3,4)
>np.split(A,2,axis=1)  #只能均等分割

#不等量的分割
>np.array_split(A,3,axis=1)

>np.vsplit(A,3)  #纵向分割
>np.hsplit(A,2)  #横向分割

numpy的copy和deep copy

>a=np.arange(4)
>b=a
>c=a
>d=b
>a[0]=11
# b, c ,d 都被改变了

>d[1:3]=[22,33]  #所有a,b,c 都改变了

#copy功能,改变任意一方不会改变另一方
>b=a.copy()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值