美文网首页Python总结
numpy之数组的赋值

numpy之数组的赋值

作者: PJCK | 来源:发表于2019-07-09 13:01 被阅读0次

    在numpy中,有一个方法array(),指的是用来建立一个数组。numpy数组类是ndarray。
    其中,Numpy数组的赋值是比较方便的,但是也有一些需要注意的地方。

    一般赋值:

    1.下面的赋值方式和C++和Java语言类似

    import numpy as np
    a = np.zeros((2,5))
    a[1][2] = 1
    a[0][4] = 10
    print(a)
    

    其输出结果:

    [[ 0.  0.  0.  0. 10.]
     [ 0.  0.  1.  0.  0.]]
    

    2.下面的赋值方式实现的功能和上面一样,但是方式是C++和Java所没有的:

    import numpy as np
    a = np.zeros((2,5))
    a[1,2] = 1
    a[0,4] = 10
    print(a)
    

    需要注意的赋值方式:

    这个赋值中,里面可以有列表(用list类型就行),也可以用元组类型。
    (一)

    import numpy as np
    a = np.zeros((4,10))
    a[[0,1,3],2] = 1 
    print(a)
    

    指的是在第0行,第1行和第三行中的第2列(下标从0开始)赋值为1
    输出结果:

    [[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
     [0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]]
    

    (二)

    import numpy as np
    a = np.zeros((4,10))
    a[1,[2,3,4,5,6,7,8]] = 100 
    print(a)
    

    指的是在第1行的第2到8列数赋值为100
    输出结果:

    [[  0.   0.   0.   0.   0.   0.   0.   0.   0.   0.]
     [  0.   0. 100. 100. 100. 100. 100. 100. 100.   0.]
     [  0.   0.   0.   0.   0.   0.   0.   0.   0.   0.]
     [  0.   0.   0.   0.   0.   0.   0.   0.   0.   0.]]
    

    (三)

    也可以用列表的切片:

    import numpy as np
    a = np.zeros((4,10))
    a[1:3,2:8] = 20
    print(a)
    

    注意,别加方括号 ↑。

    输出结果:

    [[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]
     [ 0.  0. 20. 20. 20. 20. 20. 20.  0.  0.]
     [ 0.  0. 20. 20. 20. 20. 20. 20.  0.  0.]
     [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]]
    

    相关文章

      网友评论

        本文标题:numpy之数组的赋值

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