zoukankan      html  css  js  c++  java
  • NumPy-布尔索引

    布尔索引

    numpy.random.randn(7,4):生成一个7 * 4的随机正态分布的数据。
    
    names = np.array(['bob', 'joe','will', 'bob', 'will', 'joe', 'joe'] )
    data = np.random.randn(7,4)#生成一个七乘四的随机正态分布数组
    print(names)
    print(data)
    
    print(names == 'bob')
    
    print(data[names == 'bob'])
    #注意,布尔值数组的长度必须和数组轴索引长度一致。 当布尔值数组的长度不正确时,布尔值选择数据的方法并不会报错,因此用的时候要非常小心
    
    print('------------')
    print(data[names == 'bob', 2:]) #通过索引取值,判断完之后的值
    print('-----------')
    print(data[names == 'bob', 3])
    
    print('---------')
    print(names != 'bob')
    print("------------")
    
    # ~符号表示可以在你想要对一个通用条件进行取反时使用。
    print(data[~(names == 'bob')])
    
    print('---------------')
    
    #Python的关键字 and 和 or 队伍而直属组没有用,想要对多个布尔值条件进行联合的时候,需要用的数学操作符是 &(and)和 |(or)
    mask = (names == 'bob')|(names == 'will')
    print(mask)
    print(data[mask])
    
    
    print('------------')
    
    # 基于常识来设置布尔值数组的值也是可行的,将data中的所有的负值设置为0.
    data[data<0]=0
    print(data)
    
    print('------------')
    # 通过判断 names是否不等于 joe 来获取一个布尔值数组,再传入,然后改值。
    data[names != 'joe'] = 7
    print(data)
    
    
    ['bob' 'joe' 'will' 'bob' 'will' 'joe' 'joe']
    [[-1.32440208 -0.45427327 -1.63787067  1.80459809]
     [ 1.16594353 -0.50247966  0.6491378   1.05965126]
     [ 1.81587214 -1.24082676  0.4214128   0.27463189]
     [ 0.10547611 -1.448572    1.8764057   1.39618769]
     [ 1.03137488 -1.10790614 -0.51666423  0.38906515]
     [ 0.52641389 -0.4301804   0.03157491  0.37656666]
     [ 0.11827433  1.458692    0.42525599  0.39651743]]
    [ True False False  True False False False]
    [[-1.32440208 -0.45427327 -1.63787067  1.80459809]
     [ 0.10547611 -1.448572    1.8764057   1.39618769]]
    ------------
    [[-1.63787067  1.80459809]
     [ 1.8764057   1.39618769]]
    -----------
    [1.80459809 1.39618769]
    ---------
    [False  True  True False  True  True  True]
    ------------
    [[ 1.16594353 -0.50247966  0.6491378   1.05965126]
     [ 1.81587214 -1.24082676  0.4214128   0.27463189]
     [ 1.03137488 -1.10790614 -0.51666423  0.38906515]
     [ 0.52641389 -0.4301804   0.03157491  0.37656666]
     [ 0.11827433  1.458692    0.42525599  0.39651743]]
    ---------------
    [ True False  True  True  True False False]
    [[-1.32440208 -0.45427327 -1.63787067  1.80459809]
     [ 1.81587214 -1.24082676  0.4214128   0.27463189]
     [ 0.10547611 -1.448572    1.8764057   1.39618769]
     [ 1.03137488 -1.10790614 -0.51666423  0.38906515]]
    ------------
    [[0.         0.         0.         1.80459809]
     [1.16594353 0.         0.6491378  1.05965126]
     [1.81587214 0.         0.4214128  0.27463189]
     [0.10547611 0.         1.8764057  1.39618769]
     [1.03137488 0.         0.         0.38906515]
     [0.52641389 0.         0.03157491 0.37656666]
     [0.11827433 1.458692   0.42525599 0.39651743]]
    ------------
    [[7.         7.         7.         7.        ]
     [1.16594353 0.         0.6491378  1.05965126]
     [7.         7.         7.         7.        ]
     [7.         7.         7.         7.        ]
     [7.         7.         7.         7.        ]
     [0.52641389 0.         0.03157491 0.37656666]
     [0.11827433 1.458692   0.42525599 0.39651743]]
    
    
  • 相关阅读:
    JavaWeb--HttpSession案例
    codeforces B. Balls Game 解题报告
    hdu 1711 Number Sequence 解题报告
    codeforces B. Online Meeting 解题报告
    ZOJ 3706 Break Standard Weight 解题报告
    codeforces C. Magic Formulas 解题报告
    codeforces B. Sereja and Mirroring 解题报告
    zoj 1109 Language of FatMouse 解题报告
    hdu 1361.Parencodings 解题报告
    hdu 1004 Let the Balloon Rise 解题报告
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11716984.html
Copyright © 2011-2022 走看看