關於np.array(np裏的數組)

c= np.array([[1,2,3],
        [4,5,6],
        [7,8,9],
        [10,11,12]
        ])
c.ndim ##2,維度信息
c.shape ##(4, 3)
c.size ##12
c.dtype ##dtype('int32'),array中元素的種類
##生成一個全是1的ndarray
np.ones(10) ##array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
##生成一個全是0的ndarray
np.zeros(10) ##array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
##連接array
np.concatenate([np.ones(10),np.zeros(10)])
##生成一個四行三列全是1的ndarray,邏輯:先生成一個全是1的一維數組,再改變其形狀到四行三列
np.ones(12).reshape(4,3)
##生成一個0-1均勻
##邏輯:np內有一個random包可以生成隨機數字,在random內有一個random的功能函數可以生成一個均勻分佈的隨機數字
np.random.random(100).reshape(10,10)
np.random.randn(100).reshape(10,10) ##生成標準正態分佈
##定義一個2行5列的數組
a = np.ones(10).reshape(2,5)
'''array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])'''
np.zeros_like(a) #生成一個與a同樣維度的數組
np.arange(1,5) #array([1, 2, 3, 4])
np.arange(1,101).reshape(10,-1)
##數據變成一維,
np.arange(1,101).reshape(10,-1).ravel()##ravel()可以把多維數據變成一維
##數據轉置
a = np.random.randn(100).reshape(10,10)
a.T
##篩選大於0.5值,數據會變成一維
a[a>0.5]
a = np.arange(2,6).reshape(2,2)
b = np.arange(2,6).reshape(2,2)
##加、減、乘除都是對應元素進行
a+b
##.dot可以進行矩陣乘法
a.dot(b)
##常用數學函數
np.exp([1,2,3]) ##e的多少次方,array([ 2.71828183,  7.3890561 , 20.08553692])
np.sqrt([1,2,3]) ##求根號運算,array([1.        , 1.41421356, 1.73205081])
np.isnan(np.array(1)/np.array(0)) ##判斷,False,正無窮和not a number不是一個事情
##切片
a = np.arange(12).reshape(4,3)
a
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
a[1,1] #第二行,第二列:4
a[0,:] #array([0, 1, 2]),切片,拿到第一行
a[:,0] #array([0, 3, 6, 9]),切片,拿到第一列
a[0:2,:] ##前兩行
a[[0,1],:]#讀取前兩行,方法不一樣,這個例子主要事項告訴大家如何選取不連續切片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章