• numpy数组操作


    # 修改数组形状
    # reshape 	不改变数据的条件下修改形状
    # flat 	    数组元素迭代器
    # flatten 	返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
    # ravel 	返回展开数组
    a = np.arange(8)
    a=a.reshape(2,4)
    for element in a.flat:
        print (element)
    print (a.flatten())
    print (a.ravel())

    # 翻转数组
    # transpose 	对换数组的维度
    # ndarray.T 	和 self.transpose() 相同
    # rollaxis 	向后滚动指定的轴
    # swapaxes 	对换数组的两个轴
    a = np.arange(12).reshape(3,4)
    print (np.transpose(a))
    print (a.T)
    b = np.rollaxis(a,2,0)              # 将轴 2 滚动到轴 0(宽度到深度)
    print (np.swapaxes(a, 2, 0))        #现在交换轴 0(深度方向)到轴 2(宽度方向)

    # 修改数组维度
    # broadcast 	产生模仿广播的对象
    # broadcast_to 	将数组广播到新形状
    # expand_dims 	扩展数组的形状
    # squeeze 	    从数组的形状中删除一维条目
    x = np.array([[1], [2], [3]])
    y = np.array([4, 5, 6])  
    b = np.broadcast(x,y)               # 对 y 广播 x
    np.broadcast_to(a,(4,4))            # 广播到新形状
    y = np.expand_dims(x, axis = 0)     #升维
    y = np.squeeze(x)                   #降维

    # 连接数组
    # concatenate 	连接沿现有轴的数组序列
    # stack 	    沿着新的轴加入一系列数组。
    # hstack 	    水平堆叠序列中的数组(列方向)
    # vstack 	    竖直堆叠序列中的数组(行方向)
    a = np.array([[1,2],[3,4]])
    b = np.array([[5,6],[7,8]])
    np.concatenate((a,b),axis = 1)      #沿轴 1 连接两个数组
    print(np.stack((a,b),0))            #沿轴 0 堆叠两个数组
    print(np.hstack((a,b)))             #水平堆叠
    print(np.vstack((a,b)))             #垂直堆叠

    # 分割数组
    # split 	    将一个数组分割为多个子数组
    # hsplit 	    将一个数组水平分割为多个子数组(按列)
    # vsplit 	    将一个数组垂直分割为多个子数组(按行)
    a = np.arange(9)
    b = np.split(a,3)                   #将数组分为三个大小相等的子数组
    b = np.split(a,[4,7])               #将数组在一维数组中表明的位置分割,0~3,4~7,8~
    a = np.arange(16).reshape(4, 4)
    b = np.split(a,2)                   #默认0轴分割,水平
    b = np.split(a,2,1)                 #默认1轴分割,垂直
    
    b = np.hsplit(harr, 3)              #水平分割
    b = np.vsplit(a,2)                  #垂直分割

    # 数组元素的添加与删除
    # resize 	    返回指定形状的新数组
    # append 	    将值添加到数组末尾
    # insert 	    沿指定轴将值插入到指定下标之前
    # delete 	    删掉某个轴的子数组,并返回删除后的新数组
    # unique 	    查找数组内的唯一元素
    a = np.array([[1,2,3],[4,5,6]])
    b = np.resize(a, (3,2))
    b = np.append(a, [7,8,9])
    b = np.insert(a,3,[11,12])          #未传递 Axis 参数。 在删除之前输入数组会被展开
    b = np.delete(a,5))
    u = np.unique(a)         
  • 相关阅读:
    3(翻译)如何在cocos2d里面使用动画和spritesheet
    Objectivec2.0 每种数据类型定义属性的方法
    cocos2d 入门必备4个基本概念
    如何在Mac上搭建自己的服务器——Nginx
    JN_0001:在微信朋友圈分享时长大于10s的视频
    JN_0002:Win10禁止U盘拷贝文件的方法
    abstract class 和 interface区别
    ref和out
    .Net配置错误页
    Unity3d 物体沿着正七边形轨迹移动
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/15919515.html
Copyright © 2020-2023  润新知