numpy必知必会-第四天

作者: 人工智能人话翻译官 | 来源:发表于2019-04-28 15:22 被阅读190次

    16 array内中元素的列交换
    例如:
    输入array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
    输出 array([[1, 0, 2],
    [4, 3, 5],
    [7, 6, 8]])

    arr = np.arange(9).reshape(3,3)
    arr[:, [1,0,2]]
    

    输出

    array([[1, 0, 2],
           [4, 3, 5],
           [7, 6, 8]])
    
    

    arr[:, [1,0,2]] , :代表了选取所有的行,后面的[1,0,2]就是调整列的顺序

    17 array内中元素的行交换
    例如:
    输入array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
    输出array([[3, 4, 5],
    [0, 1, 2],
    [6, 7, 8]])

    arr = np.arange(9).reshape(3,3)
    arr[[1,0,2], :]
    

    输出

    array([[3, 4, 5],
           [0, 1, 2],
           [6, 7, 8]])
    

    arr[[1,0,2], :], :代表了选取所有的列,前面的[1,0,2]就是调整行的顺序
    综上两道题,一定要搞清楚array的坐标顺序,如下图:


    array的坐标顺序

    18 翻转array中的行
    例如:
    输入array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
    输出array([[6, 7, 8],
    [3, 4, 5],
    [0, 1, 2]])

    arr = np.arange(9).reshape(3,3)
    arr[::-1]
    

    输出

    array([[6, 7, 8],
           [3, 4, 5],
           [0, 1, 2]])
    

    19 翻转array中的列
    例如:
    输入array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
    输出array([[2, 1, 0],
    [5, 4, 3],
    [8, 7, 6]])

    arr = np.arange(9).reshape(3,3)
    arr[:, ::-1]
    

    输出

    array([[2, 1, 0],
           [5, 4, 3],
           [8, 7, 6]])
    

    20 create一个由浮点数组成的5x3的array,每个元素的范围为5~10
    例如:
    输出
    array([[7.36449457, 7.88639647, 5.94125761],
    [5.09012437, 8.80551213, 8.52312685],
    [5.02215274, 8.67374118, 8.47783551],
    [8.0159014 , 6.97627367, 8.01559088],
    [5.06113516, 6.78233419, 7.29608376]])

    rand_arr = np.random.randint(low=5, high=10, size=(5,3)) + np.random.random((5,3))
    

    输出

    array([[7.36449457, 7.88639647, 5.94125761],
           [5.09012437, 8.80551213, 8.52312685],
           [5.02215274, 8.67374118, 8.47783551],
           [8.0159014 , 6.97627367, 8.01559088],
           [5.06113516, 6.78233419, 7.29608376]])
    

    np.random.randint(low=5, high=10, size=(5,3))会创建一个5x3,元素取值范围为5~10的int形array
    np.random.random((5,3))会创建一个5x3,元素取值范围为0.0~1.0的float形array
    两者相加行了!

    相关文章

      网友评论

        本文标题:numpy必知必会-第四天

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