1. 程式人生 > 程式設計 >新手入門學習python Numpy基礎操作

新手入門學習python Numpy基礎操作

NumPy(Numerical Python) 是 Python 語言的一個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。是在學習機器學習、深度學習之前應該掌握的一個非常基本且實用的Python庫。

匯入庫,建立陣列

import numpy as np
a = np.arraya = np.array([0,1,2,3,4] )  #使用array函式

a = np.array([[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25],[26,27,28,29,30],[31,32,33,34,35]])  #建立多維陣列
a=np.zeros((2,3))  #建立兩行三列的0填充的矩陣,ones(shape)則是建立1填充的,np.full((m,n)8) m行n列的全部是8的引數
a=np.linspace(1.,4.,6) #建立1到4之間,共6個元素的等值間距的陣列
a=np.arange(起,止,步長) #建立 從起到至,按步長排列的陣列
a= np.indices((3,3)) #建立一個堆疊的更高維度的陣列
a=np.mat() #建立矩陣,array只能從列表中生成,而mat可以從字串或者列表中生成,比如mat("1,2;3,4"),而array([1,4]),mat是矩陣、array是陣列(假矩陣)

基本操作符

np中矩陣之間加減乘除是對應元素的+、-、*、/, 【注】一個數組加一個整數,則是對該陣列每個元素加該整數,這個過程成為陣列的廣播,如果階數不同則是每行與每行對應相乘。

mat的矩陣若是使用*則是矩陣相乘,而非對應元素相乘

其他的計算函式:

  • multiply(),陣列或矩陣對應位置相乘
  • dot()函式,a.dot(b)表示ab矩陣相乘,數學上的相乘。
  • sum() #求和,可使用axis限定方向,0為縱向,1為橫向。[[...],[...],[...]]這樣橫著放求得時候他也會預設為二維方陣,最後結果是[...]
  • min() #找出最小的元素
  • max() #找出最大的元素
  • mean() #返回均值
  • std() #返回標準方差
  • var() #返回方差
  • cumprod() #原陣列該位置的前幾項元素乘 (累乘陣列),可以使用axis指定方向,0表示縱向,1表示橫向,預設橫向
  • cumsum() #原陣列該位置的前幾項元素和 (累加陣列)
  • ptp() #返回最大值減去最小值

np的索引和切片

import numpy as np
data = np.arange(12).reshape((3,4))
print(data)
##對陣列元素進行索引和切片
# 1. 取第一行的資料
print(data[0])

# 2. 取第一列的資料
print(data.T[0])
print(data[:,1])

#3. 獲取多行
print(data[:2])

# 4. 獲取多行列
print(data.T[:2])
print(data[:,:2])


# 5. 獲取指定行的前幾列;
print(data)
print(data[[0,2],:2])
print(data[:2,[0,2]])

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。