zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然Numpy库学习笔记:NumPy 迭代数组

    import numpy as np
     
    a = np.arange(6).reshape(2,3)
    print ('原始数组是:')
    print (a)
    print ('
    ')
    print ('迭代输出元素:')
    for x in np.nditer(a):
        print (x, end=", " )
    print ('
    ')
    import numpy as np
     
    a = np.arange(6).reshape(2,3)
    for x in np.nditer(a.T):
        print (x, end=", " )
    print ('
    ')
     
    for x in np.nditer(a.T.copy(order='C')):
        print (x, end=", " )
    print ('
    ')

    import numpy as np
     
    a = np.arange(0,60,5) 
    a = a.reshape(3,4)  
    print ('原始数组是:') 
    print (a) 
    print ('
    ') 
    print ('原始数组的转置是:') 
    b = a.T 
    print (b) 
    print ('
    ') 
    print ('以 C 风格顺序排序:') 
    c = b.copy(order='C')  
    print (c)
    for x in np.nditer(c):  
        print (x, end=", " )
    print  ('
    ') 
    print  ('以 F 风格顺序排序:')
    c = b.copy(order='F')  
    print (c)
    for x in np.nditer(c):  
        print (x, end=", " )
    import numpy as np 
     
    a = np.arange(0,60,5) 
    a = a.reshape(3,4)  
    print ('原始数组是:')
    print (a)
    print ('
    ')
    print ('以 C 风格顺序排序:')
    for x in np.nditer(a, order =  'C'):  
        print (x, end=", " )
    print ('
    ')
    print ('以 F 风格顺序排序:')
    for x in np.nditer(a, order =  'F'):  
        print (x, end=", " )
    import numpy as np
     
    a = np.arange(0,60,5) 
    a = a.reshape(3,4)  
    print ('原始数组是:')
    print (a)
    print ('
    ')
    for x in np.nditer(a, op_flags=['readwrite']): 
        x[...]=2*x 
    print ('修改后的数组是:')
    print (a)
    import numpy as np 
    a = np.arange(0,60,5) 
    a = a.reshape(3,4)  
    print ('原始数组是:')
    print (a)
    print ('
    ')
    print ('修改后的数组是:')
    for x in np.nditer(a, flags =  ['external_loop'], order =  'F'):  
       print (x, end=", " )
    如果两个数组是可广播的,nditer 组合对象能够同时迭代它们。 假设数组 a 的维度为 3X4,数组 b 的维度为 1X4 ,则使用以下迭代器(数组 b 被广播到 a 的大小)
    import numpy as np 
     
    a = np.arange(0,60,5) 
    a = a.reshape(3,4)  
    print  ('第一个数组为:')
    print (a)
    print  ('
    ')
    print ('第二个数组为:')
    b = np.array([1,  2,  3,  4], dtype =  int)  
    print (b)
    print ('
    ')
    print ('修改后的数组为:')
    for x,y in np.nditer([a,b]):  
        print ("%d:%d"  %  (x,y), end=", " )
  • 相关阅读:
    synchronized 到底该不该用?
    线上Java程序占用 CPU 过高,请说一下排查方法?
    『JVM』我不想知道我是怎么来滴,我就想知道我是怎么没滴
    Golang 实现 Redis(8): TCC分布式事务
    Golang 实现 Redis(7): 集群与一致性 Hash
    Golang 实现 Redis(6): 实现 pipeline 模式的 redis 客户端
    LSM 树详解
    uni-app subNVue 原生子窗体简单使用案例(app端)
    日计不足涓滴成河-自定义响应结果格式化器
    RTT之软件包
  • 原文地址:https://www.cnblogs.com/tszr/p/12228794.html
Copyright © 2011-2022 走看看