Numpy简单基础

作者: 生信编程日常 | 来源:发表于2020-11-28 23:05 被阅读0次

    1. 创建numpy数组/矩阵

    import numpy as np
    print(np.__version__) # 查看版本
    

    创建

    np_arr = np.array([x for x in range(10)])
    print(np_arr)
    

    修改

    np_arr[0] = 100 # 与list基本类似
    print(np_arr)
    

    查看类型

    np_arr.dtype 
    

    特殊矩阵的创建:

    创建都是0的数组, 默认为float

    np.zeros(10) 
    np.zeros(10, dtype='int')
    
    np.zeros((3,5)) # 三行五列
    #### 或者
    np.zeros(shape=(3,5))
    

    创建全1矩阵

    np.ones((3,5))
    

    其他数字矩阵

    np.full(shape = (2,4), fill_value=3)
    

    创建随机数矩阵:

    生成随机整数

    np.random.randint(0, 10,10) # 随机生成从0到10的一维10个随机数,这是左开右闭的
    np.random.randint(0, 10, size = (3,5))
    

    生成符合某种分布的随机数

    np.random.normal(10,100)  # 正态分布,指定均值和方差
    np.random.normal(0,1,size = (3,4))
    

    2. numpy数组/矩阵的基本操作

    X = np.arange(15).reshape(3,5)
    
    X.ndim # 二维数组 (输出几维)
    X.shape # 三行五列
    X.size
    
    X[:2, :3] # 前两行前三列
    X[:2, ::2] # 前两行,列是隔一行取一列
    

    3. 合并

    A = np.array([[1,2,3], 
                  [4,5,6]])
    # 列拼接
    np.concatenate([A, A], axis = 1) # axis默认为0
    
    np.vstack([A, np.array([6,6,6])])
    np.hstack([A, np.full((2,2), 100)])
    

    4. 分割

    np.split(np.arange(10), [2,6]) # 向量
    
    np.split(A, [1]) # 矩阵, 默认分割行
    np.split(A, [2], axis=1) # 按列分割
    
    np.vsplit(A, [1]) # 分割出上下
    np.hsplit(A, [2]) # 分割出左右
    
    np.tile(A, [2]) # 重复数组
    

    5. 索引

    big = np.arange(1000000)
    
    #### 最小值的索引
    np.argmin(big)
    
    x = np.arange(16)
    np.random.shuffle(x)
    

    排序

    np.sort(x)
    

    快速排序

    以3位分割点,3前面的都比3要小,但是不一定按照大小排序

    np.random.shuffle(x)
    np.partition(x, 3)
    

    相关文章

      网友评论

        本文标题:Numpy简单基础

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