numpy之ones,array,asarray

from:http://blog.csdn.net/gobsd/article/details/56485177

numpy.ones()

废话少说直接上代码

>>> np.ones(5)
array([ 1.,  1.,  1.,  1.,  1.])
>>> np.ones((5,), dtype=np.int)
array([1, 1, 1, 1, 1])
np.ones((2, 1))
array([[ 1.],
       [ 1.]])
>>> s = (2,2)
>>> np.ones(s)
array([[ 1.,  1.],
       [ 1.,  1.]])
#其中,ones函数的参数如下
numpy.ones(shape, dtype=None, order='C')
#返回值就是一个给定类型和大小的数组

 numpy.array和numpy.asarray

    import numpy as np  
      
    #example 1:  
    data1=[[1,1,1],[1,1,1],[1,1,1]]  
    arr2=np.array(data1)  
    arr3=np.asarray(data1)  
    data1[1][1]=2  
    print 'data1:\n',data1  
    print 'arr2:\n',arr2  
    print 'arr3:\n',arr3  

 输出:

    data1:  
    [[1, 1, 1], [1, 2, 1], [1, 1, 1]]  
    arr2:  
    [[1 1 1]  
     [1 1 1]  
     [1 1 1]]  
    arr3:  
    [[1 1 1]  
     [1 1 1]  
     [1 1 1]]  

 可见array和asarray没有区别,都对原数据进行了复制。

    import numpy as np  
      
    #example 2:  
    arr1=np.ones((3,3))  
    arr2=np.array(arr1)  
    arr3=np.asarray(arr1)  
    arr1[1]=2  
    print 'arr1:\n',arr1  
    print 'arr2:\n',arr2  
    print 'arr3:\n',arr3  

输出:

    arr1:  
    [[ 1.  1.  1.]  
     [ 2.  2.  2.]  
     [ 1.  1.  1.]]  
    arr2:  
    [[ 1.  1.  1.]  
     [ 1.  1.  1.]  
     [ 1.  1.  1.]]  
    arr3:  
    [[ 1.  1.  1.]  
     [ 2.  2.  2.]  
     [ 1.  1.  1.]]  

 此时两者才表现出区别

 

posted @ 2017-12-04 19:29  深度学习1  阅读(4165)  评论(0编辑  收藏  举报