• 05-numpy数组高级操作


    import numpy as np
    x=np.array([[1],[2],[3]])
    y=np.array([4,5,6])
    b=np.broadcast(x,y)#对y广播x
    #1.
    print(b.index)
    print(b.__next__())#循环到下一个(1, 4)
    print(b.__next__())#循环到下一个(1, 5)
    print(b.__next__())#循环到下一个(1, 6)
    print(b.__next__())#循环到下一个(2, 4)
    print(b.__next__())#循环到下一个(2, 5)
    print(b.__next__())#循环到下一个(2, 6)
    print(b.__next__())#循环到下一个(3, 4)
    print(b.__next__())#循环到下一个(3, 5)
    print(b.__next__())#循环到下一个(3, 6)
    print(b.index)
    c=np.empty(b.shape)#清空
    print(b,"
    ",c)
    
    
    #2.
    print(c.shape)
    c.flat=[u+v for (u,v) in b]#数组的加法
    print(c)
    
    #3.
    d=np.arange(4).reshape(1,4)
    print("
    
    ",d)#[[0 1 2 3]]
    print(np.broadcast_to(d,(4,4)))#打印4行[[0 1 2 3]]
    #实现数组的复制,要求列数相等
    
    #4.增加维度
    e=np.array(([1,2],[3,4]))#二维数组
    f=np.expand_dims(x,axis=0)#扩充成三维数组
    g=np.expand_dims(x,axis=1)#插入位置不一样
    
    #5.删除维度
    h=np.arange(27).reshape(1,3,9)#三维
    j=np.squeeze(h)#外层只有一个元素,可以删除一个维度
    

      

    #6.拼接
    a=np.array([[1,2],[3,4]])
    b=np.array([[5,6],[7,8]])
    print(np.concatenate((a,b)))#拼接,按列
    print(np.hstack((a,b)))
    
    print(np.concatenate((a,b),axis=1))#拼接,按行
    print(np.vstack((a,b)))
    
    print(np.stack((a,b),0))#拼成三维数组,按列
    print(np.stack((a,b),1))#按行
    
    #7.切割
    a=np.arange(100)
    b=np.split(a,10)#切割成是10数组
    c=np.split(a,[30,60,80])#切割三刀,留下四个数组
    
    d=np.arange(100).reshape(10,10)
    e=np.hsplit(a,5)#列切割成5份
    f=np.vsplit(a,5)#行切割成5份,切割时候必须整除
    

      

  • 相关阅读:
    Centos 7环境下配置MySQL 5.7读写分离
    Centos 7环境下安装配置MySQL 5.7
    Hadoop 2.8集群安装及配置记录
    ASP.NET Core 1.1版本之Hello word
    Hadoop版Helloworld之wordcount运行示例
    SSH配置免密登陆设置汇总
    最小安装模式下Centos7.*网卡启动配置
    骚扰式管理
    项目团队之分工协作
    利用微软AntiXss Library过滤输出字符,防止XSS攻击
  • 原文地址:https://www.cnblogs.com/wcyMiracle/p/12421729.html
Copyright © 2020-2023  润新知