(a>0)&(a<2),#判斷各個元素是否大於0,返回一np.array,元素爲False或True
a[a>0]#找出a中大於0的數
a*a#點乘
np.dot(a,a)#矩陣乘法
np.array([[1,2,3],[2,3,4]]),會把裏面的列表也轉換成array,即np.array([[1,2,3],[2,3,4]])獲得的是一多維數組
np.array([[1,2,3],[3,4]]),因爲裏面的列表長度不一樣,只能保持爲list數組
np.array([1,2,3],dtype=np.float64)
np.array([1,2,3],dtype=np.int32)
dtype是Numpy如此強大和靈活的緣由之一。它們直接映射到相應的機器表示,這使得「讀寫磁盤上的二進制數據流」
以及「集成低級語言代碼」等工做變得簡單。dom
Python裏的賦值,實質上是引用,而不是複製數據,因此修改其中一些值,原始數據也會改變。
在多維數組中,各索引位置上的元素再也不是標量,而是數組函數
arr = np.arange(32).reshape((8,4))blog
arr[[1,5,7,2],[0,3,1,2]]#取二維數組元素(1,0),(5,3),(7,1),(2,2)索引
ufunc
通用函數是一種對ndarray中的數據執行元素級運算的函數。能夠將其看做簡單函數(接受一個或多個標量值,
併產生一個或多個標量值)的矢量化包裝器文檔
x=y=[1,2,3]
np.maximum(x,y)it
np.where(con,arr,arr)#第二個參數能夠是數組,也能夠是標量
arr=np.random.randn(4,4)
如 np.where(arr>0,2,-2)#對於arr生成的數組,大於0的置爲2,不然爲-2
np.where(arr>0,2,arr)#只將正數設置爲2.io
xarr = np.array([1,2,3,4,5])
yarr= np.array([2,3,4,5,6])
cond=np.array([True,False,True,True,True])test
np.where(cond,xarr,yarr) #array([1,3,3,4,5])變量
聚合(aggregation),約簡(reduction)
數組的文件輸入輸出
arr=np.arange(10)
np.save('some_array',arr)
若是文件路徑末尾沒有擴展名.npy.則該擴展名會被自動加上,而後能夠經過np.load讀取
np.savez能夠將多個數組保存到一個壓縮文件,將數組以關鍵字參數的形式傳入便可:
np.savez('array_archive.npz',a=arr,b=arr)
arch=np.load('array_archive.npz')
arch['b']
arr=np.loadtxt('test.txt',delimiter=',')#以逗號爲分隔符