程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python基本功numpy2

編輯:Python

索引

索引有兩種形式,第一種就是類似於在c語言中的,一個‘【】’裡放一個數字,分別代表行,列,對於一維的就是數組的訪問,即第幾個。

第二種就是python中獨有的,【行,列】 或者 【:,列】or【行,:】即某一列的所有的數或者是某一行所有的數。也可以是用a:b這種從a到b 配合使用。

a=np.arange(3,15).
//普通版本
print(a[n]) //c語言版本的索引
//升級版本,主要體現在二維上
b=a.reshape(3,4)
print(b[2,1])
print(b[:,1]) or print(1,:)
print(1:2,1) 表示第二列第二個數字到第三個數字

 矩陣的合並

A=np.array([1,1,1])
B=np.array([2,2,2])
np.vstack((A,B)) //vertical stack 上下的粘連 就是[[1,1,1],
[2,2,2]]
np.hstack((A,B))//水平合並 [1,1,1,2,2,2]
//多個一維數組的合並
np.concatenate(array1,array2.... ,axis) //axis為0代表縱向合並,為1代表橫向合並

矩陣的維度變換

A=np.array([1,1,1])
//當我想要豎著輸出A的時候,我需要讓他變換一下維度
B=A[:,np.newaxis]代表在列上加一個維度,就能達到輸出縱向的1,1,1的效果
B=A[np.newaxis.:]代表在行上加一個維度,1,1,1將會作為二維數組的一行

 

矩陣的分割 

//需要用到split(araray,sectors,axis) 從那個矩陣中 沿著那個軸 分成幾塊
A=np.arange(12).reshape((3,4))
print(np.split(A,2,axis=1))
//由於split只能平均分配,比如把四列分成1列,兩列,或者四列,但是不能分成三列,所以有array_split
達到這個目的,而且參數和split一樣
print(np.array_split(A,3,axis=1))
//還有倆函數能達到縱向分割和橫向分割
print(np.hsplit(A,3))
print(np.vsplit(A,4))

矩陣的賦值 

 

//簡單的深拷貝和淺拷貝
a=np.arange(4)
b=a
c=a
這是淺拷貝,改變a的值b的值也會改變
d=a.copy()
這是深拷貝,改變a的值,d的值不會改變


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved