zoukankan      html  css  js  c++  java
  • 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份,切割时候必须整除
    

      

  • 相关阅读:
    面试题23:从上往下打印二叉树
    面试题22:栈的压入、弹出序列
    【opencv基础】imwrite函数与图像存储质量
    【c++基础】从json文件提取数据
    【图像处理基础】LBP特征
    【机器学习基础】SVM实现分类识别及参数调优(二)
    【leetcode】14-LongestCommonPrefix
    【leetcode】13-Roman2Integer
    【leetcode】9-PalindromeNumber
    【leetcode】7-ReverseInteger
  • 原文地址:https://www.cnblogs.com/wcyMiracle/p/12421729.html
Copyright © 2011-2022 走看看