python資料分析之numpy初始化(一)
阿新 • • 發佈:2019-01-08
以下都用numpy的標準“import numpy as np”
1.numpy是同構資料多維容器,同構即資料型別相同
2.初始化:
2.2np.zeros(tupleA)#產生一個tupleA維度大小的矩陣,且初始全為0
2.4np.empty(tupleA)#與上面類似,只是初始化值是不確定的(並不是你以為的0!!!!)
2.5np.array(listA)#把listA轉成np,listA只是一個統稱,只要是序列化的都可以,還可以是其他np
1.numpy是同構資料多維容器,同構即資料型別相同
2.初始化:
2.1np.arange([start,] end [, step])#與list的range相似
>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(1, 10, 2)
array([1, 3, 5, 7, 9])
2.2np.zeros(tupleA)#產生一個tupleA維度大小的矩陣,且初始全為0
>>> np.zeros((4)) array([ 0., 0., 0., 0.]) >>> np.zeros((4,2)) array([[ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.]])
2.3np.ones(tupleA)#與上面類似,只是初始化全為1
>>> np.ones((4))
array([ 1., 1., 1., 1.])
>>> np.ones((4,2))
array([[ 1., 1.],
[ 1., 1.],
[ 1., 1.],
[ 1., 1.]])
2.4np.empty(tupleA)#與上面類似,只是初始化值是不確定的(並不是你以為的0!!!!)
>>> np.empty((4)) array([ 1.73154357e-316, 4.71627160e-317, 0.00000000e+000, 4.94065646e-324]) >>> np.empty((3,2)) array([[ 0.00000000e+000, 0.00000000e+000], [ 6.94647584e-310, 6.94647586e-310], [ 6.94647586e-310, 6.94647586e-310],
2.5np.array(listA)#把listA轉成np,listA只是一個統稱,只要是序列化的都可以,還可以是其他np
但其實,np初始化時沒有特別說明都會被預設是float64,如前四種 2.6其他:ones_like(npA);zeros_like(npA);empty_like(npA)>>> np.array([[1, 2, 3], [4, 3, 2]]) array([[1, 2, 3], [4, 3, 2]]) >>> npA = np.array([[1, 2, 3], [4, 3, 2]]) >>> npA array([[1, 2, 3], [4, 3, 2]]) >>> npB = np.array([[1, 2, 3], [4, 3, 2.0]]) >>> npB array([[ 1., 2., 3.], [ 4., 3., 2.]]) np.array會自動找到最適合listA資料型別轉給np: >>> npA.dtype dtype('int64') >>> npB.dtype dtype('float64')
>>> npB = np.array([[1, 2, 3], [4, 3, 2.0]])
>>> np.ones_like(npB)
array([[ 1., 1., 1.],
[ 1., 1., 1.]])
>>> np.zeros_like(npB)
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
>>> np.empty_like(npB)
array([[ 0.00000000e+000, 0.00000000e+000, 1.56491143e-316],
[ 6.94647850e-310, 6.94635322e-310, 1.72361006e-316]])
>>> np.identity(3)
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
>>> np.eye(3, k = -1)#變化k的值試試看
array([[ 0., 0., 0.],
[ 1., 0., 0.],
[ 0., 1., 0.]])