zoukankan      html  css  js  c++  java
  • numpy数组(四)

    import numpy as ny
    
    
    
    """
    和列表不同的是,通过切片获取的新数组是原始数组的一个视图。它与原始数组共享同一
    块数据存储空间,所以原始数组也一定会变化
    """
    a=ny.arange(10,1,-1)
    b=a[3:7]
    print('a:  ',a)
    print('b:  ',b)
    b[2]=100
    print('after b:  ',b)
    print('after a:  ',a)
    """
    a:   [10  9  8  7  6  5  4  3  2]
    b:   [7 6 5 4]
    after b:   [  7   6 100   4]
    after a:   [ 10   9   8   7   6 100   4   3   2]
    """
    """
     获取数组x中下标为 3、3、1、8的4 个元素,组成一个新的数组
    """
    c=a[[3,3,1,8]]
    d=a[ny.array([3,3,1,8])]
    print('c:  ',c)
    print('d:  ',d)
    #多维数组也是适用的
    e=a[ny.array([[3,3,1,8],[3,3,-3,8]])]
    print('e:  
    ',e)
    """
    c:   [7 7 9 2]
    d:   [7 7 9 2]
    e:  
     [[7 7 9 2]
     [7 7 4 2]]
    """
    x = ny.random.rand(10)  # 产生一个长度为 10、元素值为0到 1 的随机数组
    print('x:  ',x)
    print('after x:  ',x>0.5)
    print('after x:  ',x[x>0.5])
    """
    x:   [0.11735827 0.14931258 0.90332179 0.69256899 0.48639278 0.99080655
     0.9962788  0.57468302 0.91736589 0.90630687]
    after x:   [False False  True  True False  True  True  True  True  True]
    after x:   [0.90332179 0.69256899 0.99080655 0.9962788  0.57468302 0.91736589
     0.90630687]
    """
    #使用切片来访问多维数组
    
    a=ny.array([1,2,3,4,5,
                6,7,8,9,10,
                11,12,13,14,15,
                16,17,18,19,20,
                21,22,23,24,25]).reshape(5,5)
    print('a[0,3:5]:  ',a[0,3:5])
    print('a[4:,4:]:  ',a[4:,4:])
    """
    a[0,3:5]:   [4 5]
    a[4:,4:]:   [[25]]
    """
    a = ny.arange(0, 60, 10).reshape(-1, 1)+ny.arange(0,6)
    print('a:  
    ',a)
    """
    a:  
     [[ 0  1  2  3  4  5]
     [10 11 12 13 14 15]
     [20 21 22 23 24 25]
     [30 31 32 33 34 35]
     [40 41 42 43 44 45]
     [50 51 52 53 54 55]]
    """
    #slice 对象
    #在[]中可以使用以冒号隔开的两个或三个整数表示切片,但是单独生成切片对象时需要
    #使用 slice()创建。它有三个参数,分别为开始值、结束值和间隔步长,当这些值需要省略时
    #可以使用None
    
    idx = slice(None, None, 2), slice(2,None)
    #a[idx][idx]=a[::2,2:][::2,2:]
    print('a[idx][idx]:  
    ',a[idx][idx])#其实相当于做了两道过滤
    print('a[::2,2:]:  
    ',a[::2,2:])
    """
    a[idx][idx]:  
     [[ 4  5]
     [44 45]]
    a[::2,2:]:  
     [[ 2  3  4  5]
     [22 23 24 25]
     [42 43 44 45]]
    """
    
  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/peterleee/p/9373758.html
Copyright © 2011-2022 走看看