numpy基础

作者: 且行歌 | 来源:发表于2018-02-05 21:12 被阅读17次
    import numpy  as np
    
    my_arr = np.arange(1000000)
    
    my_list = list(range(1000000))
    
    %time for _ in range(10):my_arr2 = my_arr * 2 #numpy   
    
    CPU times: user 27.2 ms, sys: 24.1 ms, total: 51.3 ms
    Wall time: 67.1 ms
    
    %time for _ in range(10):my_list2 = [x * 2 for x in my_list] #pure python
        
    
    CPU times: user 892 ms, sys: 230 ms, total: 1.12 s
    Wall time: 1.19 s
    
    #产生随机数据
    data = np.random.randn(2,3)
    
    data
    
    array([[ 1.31865052,  0.16184505, -0.19516902],
           [-0.11928384, -1.53401869,  0.42106552]])
    
    #乘法
    data * 10
    
    array([[ 13.18650519,   1.61845053,  -1.95169017],
           [ -1.1928384 , -15.34018694,   4.21065522]])
    
    #加法
    data + data
    
    array([[ 2.63730104,  0.32369011, -0.39033803],
           [-0.23856768, -3.06803739,  0.84213104]])
    
    #shape,维度
    data.shape
    
    (2, 3)
    
    #dtype,数据类型
    data.dtype
    
    dtype('float64')
    
    #list to array
    data1 = [6,7.5,8,0,1]
    arr1 = np.array(data1)
    arr1
    
    array([6. , 7.5, 8. , 0. , 1. ])
    
    #list to multidimensional array
    data2 = [[1,2,3,4],[5,6,7,8]]  #内嵌列表长度相等
    arr2 = np.array(data2)
    arr2
    
    array([[1, 2, 3, 4],
           [5, 6, 7, 8]])
    
    #ndim 维度
    arr2.ndim
    
    2
    
    arr2.shape #详细
    
    (2, 4)
    
    # 零
    np.zeros(10)
    np.zeros_like(10)
    
    array(0)
    
    # 多维零
    np.zeros((3,6)) #括号数量
    
    
    array([[0., 0., 0., 0., 0., 0.],
           [0., 0., 0., 0., 0., 0.],
           [0., 0., 0., 0., 0., 0.]])
    
    # 空
    np.empty((2,3,2)) #产生的数字无意义
    
    array([[[1., 0.],
            [0., 0.],
            [0., 1.]],
    
           [[0., 0.],
            [0., 0.],
            [1., 0.]]])
    
    # 生成1
    np.ones(10)
    
    array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
    
    #多维1
    np.ones((3,6))
    
    array([[1., 1., 1., 1., 1., 1.],
           [1., 1., 1., 1., 1., 1.],
           [1., 1., 1., 1., 1., 1.]])
    
    np.eye(3) #矩阵
    
    array([[1., 0., 0.],
           [0., 1., 0.],
           [0., 0., 1.]])
    
    np.eye(3,4) #行列不等
    
    array([[1., 0., 0., 0.],
           [0., 1., 0., 0.],
           [0., 0., 1., 0.]])
    
    np.identity(3) #矩阵
    
    array([[1., 0., 0.],
           [0., 1., 0.],
           [0., 0., 1.]])
    
    # 生成序列,
    np.arange(15)
    
    array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
    
    # asarray 并不复制
    np.asarray(arr1)
    
    array([6. , 7.5, 8. , 0. , 1. ])
    

    相关文章

      网友评论

        本文标题:numpy基础

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