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.]]
此時兩者才表現出區別
