美文网首页我爱编程
Numpy 切片与索引

Numpy 切片与索引

作者: 绍重先 | 来源:发表于2018-02-02 16:38 被阅读0次
    #-*-coding:utf-8-*-
    #2018/2/2
    
    import numpy as np
    
    #基本的索引和切片
    arr=np.arange(10)
    arr[5:8] = 13.7
    print arr
    
    #数组切片是原始数组的视图->数据不会被复制->视图上的任何修改会反应到源数组上(大数据处理)
    #如果想要一份副本,则要显式进行复制操作 如arr[5:8].copy()
    
    arr_slice = arr[5:8]
    print arr_slice
    print arr
    
    #高维数组索引
    arr3d = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
    print arr3d
    
    #arr3d[0]是一个2x3数组
    '''
        array([[1,2,3],
                [4,5,6]])
    '''
    #标量值和数组都可以被赋值给arr3d[0]
    old_values = arr3d[0].copy()
    print old_values
    arr3d[1] = 20
    print arr3d[1]
    
    #切片索引
    arr2d = np.array([[1,2,3],[4,5,6],[7,8,9]])
    print arr2d[1:2,1:2]
    
    #布尔型索引
    names = np.array(['Bob','Joe','Will','Joe','Joe'])
    print names
    #使用numpy.random中的randn函数生成正太(误)分布随机数据
    data = np.random.randn(7,4)
    print names.dtype
     
    print names == 'Bob'
    print data[names == 'Bob']
    
    mask = (names == 'Bob')|(names == 'Will')
    print data[mask]
    
    #通过布尔型数组设置值
    #将data中所有负值设置为0
    data[data<0] = 0
    print data
    data.astype(np.float32)
    print data
    
    


    相关文章

      网友评论

        本文标题:Numpy 切片与索引

        本文链接:https://www.haomeiwen.com/subject/lgeezxtx.html