一樣,咱的電腦還是得先擁有Python,並且安裝了Numpy庫。有疑問的話可以看這裡呦~~~~ 下麵開講: NumPy的主要對象是齊次多維數組。它是一個元素表(通常是數字),並且都是相同類型,由正整數的元組索引。 其他暫且略過,咱主要說一些可以聽懂的並且有實際效用的。 首先,我們得創建有一個nda ...
一樣,咱的電腦還是得先擁有Python,並且安裝了Numpy庫。有疑問的話可以看這裡呦~~~~
下麵開講:
NumPy的主要對象是齊次多維數組。它是一個元素表(通常是數字),並且都是相同類型,由正整數的元組索引。
其他暫且略過,咱主要說一些可以聽懂的並且有實際效用的。
首先,我們得創建有一個ndarry對象,簡單地介紹其中三種方法吧:
-
-
- a=np.array([1,2,3])
-
-
-
- data=[[1,2,3],[4,5,6]]
a=np.array(data)
- data=[[1,2,3],[4,5,6]]
-
-
-
- a=np.arange(15).reshape(3,5)
-
在這裡我們就用第三個作為例子接著往下講哈(我就不用再創建了哈哈)
ndarray對象的重要的屬性如下:
-
- ndarray.ndim:
輸出ndarray的維度(軸數,也有人叫它等級,在Python世界中,維度的數量被稱為等級),這裡的軸也叫坐標軸。
這兩種寫法都是可以的,親試如圖,下麵的其他函數也是一樣的。
例如,array([1,2,1])是一個等級為1的數組,因為它具有一個坐標軸,該軸的長度為3。
在上面的示例中,該數組的排名為2(它是2維的)。第一維(軸)的長度為3,第二維的長度為5。
-
- ndarray.shape:
輸出數組的尺寸,即(n,m)。
-
- ndarray.size:
數組元素的總數,即 n * m。
-
- ndarray.dtype:
數組中元素的數據類型,可進行轉換。(這個一般預設float64 和 int32,你們可以自己多試試)
-
- ndarray.itemsize:
數組中每個元素的位元組大小。(例子中則為 int 32/8 = 4,相當於ndarray.dtype.itemsize)
-
- ndarray.data:
該緩衝區包含數組的實際元素。(這個我們一般不用,我們都是用索引的QAQ)
還有好多,我就不一一截圖了,懶。。。。。。
- np.zeros(10) #長度為10的0數組
- np.zeros((3,6)) #創建3行6列的0數組(註意有兩個括弧)
- np.ones(5)
- np.ones((3,4))
- np.arange(10)
- np.eye(3) # 3*3單位矩陣
- np.identity(3) # 3*3單位矩陣
- np.zeros_like(a) #創建與a相同行、列的全0矩陣
- np.ones_like(a) #創建與a相同行、列的全1矩陣
索引和切片類
- a1=a[0:1] ##這個切片的大有學問了,寫的話大概得另起一篇了,有空再說
- a[0:1]=1 ##a變化後,a1的值也隨之變化
- a1[0:1]=2 #a1變化後,a的值也隨之變化
- a1=a[0:1].copy() #完全拷貝,值變化不影響a (和上面對比一下你就清楚了)
計算類
- a*a #每個元素平方(這個強!!!挺好用的。)
- a*5 #每個元素乘以5
- a.mean() #數據均值
- a.sum() #數組和
- a.sum(axis=0) #按列求和
- a.sum(axis=1) #按行求和
- a.sort() #對a進行排序(這個也是好東西啊~~~)
- a.sort(1) #0按行排序,1按列排序
- np.sort(a,0) #a按行排序(本身不發生變化!!!!!!)
- x.dot(y) ##矩陣x與y相乘
- np.in1d(a,[2,3,6]) #value中的每一個值是否在[2,3,6]中(如果是,該值返回true,否則返回false.)
- np.in1d([2,3,6],a)
- np.in1d(x,y)
- np.intersect1d(x,y) #返回x和y中的交集,並返回有序結構
- np.union1d(x,y) #計算x,y的並集,並返回有序結構
- np.setdiff1d(x,y) #集合的差,即在x中且不在y中
- samples=np.random.normal(size=(4,4)) #產生4維正態分佈矩陣
- from numpy.linalg import * #計算與矩陣相關,行列式,矩陣的逆等
- np.linalg.det(samples) #矩陣行列式
- np.linalg.inv(samples) #矩陣求逆
- np.diag(samples) #返回矩陣對角線元素
- np.linalg.eig(samples) #返回矩陣特征值和特征向量
- import timeit #導入計算時間的模塊
- np.save('some_a',a) #保存文件
- np.load("some_a.py") #讀取磁碟保存數據
- a=np.loadtxt("code_public.txt",delimiter=',') #讀取文本數據
- arr=np.loadtxt("d:\code\arr.txt",delimiter=',') #讀取d盤數據
行吧,時間也差不多了,我都寫累了,相信你也看累了,是時候去 stzb 看看了。