Numpy是python重要的模組(模組引用要import),提供多維度的陣列(資料矩陣)的應用運算處理,也提供出乎你想像的資料處理分析應用的數學函式,提供更進一步的資料結構分析及處理,講得太繞口令,或說得太偉大可能讓您害怕,沒關係,一步一步來,我們先學些基本的,未來需要用到更深入的資料分析或處理時,召喚google大師幫我們查查便有,我也會整理出進階的範例說明讓各位同好來接觸學習喔!哈哈哈…..
下述numpy都是運用來處理陣列資料N-dimensional array(ndarray)重要的屬性就是維度(ndim)、形狀(shape)和數值類型(dtype),待會會顯示出來.
import numpy as np先引用numpy後面使用時用np簡稱代表即可
np_data=np.arange(8)產生一個數字序列從0到7共8個
print(np_data.shape, np_data.ndim, np_data.dtype, np_data.itemsize, np_data.size)ß 陣列的重要屬性
輸出:(8,) 1 int32 4 8一維陣列、8個元素、int32數字型態
print(np_data)
輸出: [0 1 2 3 4 5 6 7]
#試著產生array ,借由list
np_data1=np.array([1,2,3,4,'文字'])ß陣列不同list,陣列中資料需為同質資料,在此為’文字’的出現故python自動將前面的數字認定為文字型態
print(np_data1)
輸出:['1' '2' '3' '4' '文字']
#試著產生array
np_data2=np.array({'a':1,'b':2,'c':"test"})
print(np_data2)
輸出:{'a': 1, 'b': 2, 'c': 'test'}
np_data3=np.array(([(1,2,3),(4,5,6)]))
print(np_data3)
輸出:[[1 2 3]
[4 5 6]
#創造一個3*4的全為0的陣列
print(np.zeros((3,4)))
輸出:[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
#創造一個5*5 的全為1的陣列
print(np.ones((5,5)))
輸出:[[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]]
#創造一個1開始小於21間隔為1的陣列
np_data5=np.arange(1,21,1)
print(np_data5)
輸出:[ 1 2 3 ..., 18 19 20]
#將上述陣列重塑為4*5的陣列
print(np.arange(1,21,1).reshape(4,5))
輸出:[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]
[16 17 18 19 20]]
從numpy模組中引入圓周半徑pi
from numpy import pi
print(pi)
輸出:3.141592653589793
#linspace用途為將起始至截止數值間切割為指定部分圖下為11等分
print(np.linspace(0,pi,11))
輸出:[ 0. 0.31415927 0.62831853 ..., 2.51327412 2.82743339
3.14159265]
#重塑為三維陣列的範例
np_data6=np.arange(1000).reshape(10,10,10)
print(np_data6)
#帶您試試看基本運算及操作
a=np.ones(3)
b=np.linspace(0,pi,3)
c=a+b
print(c)
[ 1. 2.57079633 4.14159265]
ran=np.random.random((3,2))
print(ran)
print(ran.sum(),ran.min(),ran.max())
輸出:[[ 0.60447561 0.97434735]
[ 0.297664 0.46631272]
[ 0.11462281 0.22222265]]
2.67964514143 0.114622814313 0.97434734694
#shape
a=np.floor(10*np.random.random((3,4)))ßfloor為取不超過該數最大整數
print(a,a.shape)
輸出:[[ 8. 9. 3. 3.]
[ 7. 4. 8. 2.]
[ 4. 6. 5. 0.]] (3, 4)
print(a.ravel())
輸出:[ 3. 4. 3. ..., 5. 8. 5.]
print(a.reshape(6,-1))
[[ 5. 7.]
[ 5. 9.]
[ 3. 6.]
[ 6. 3.]
[ 8. 4.]
[ 9. 7.]]
for element in a.flat:
print(element)
np3=np.array([1,2,3,4,5,6])
print(np3>3)
[False False False True True True]
print(np3[np3>3])
[4 5 6]
留言列表