Numpy 的常用操作

1.創建數組array

  1 # 創建數組array
  2 import numpy as np
  3 a = np.array([1,2,3])   #創建數組
  4 b = np.array([(1.5,2,3), (4,5,6)],
  5 dtype=float)
  6 c = np.array([(1.5,2,3), (4,5,6)],
  7 [(3,2,1), (4,5,6) ] ], dtype=float)
  8 
  9 np.zeros((3,4))  #創建0數組
 10 np.ones((2,3,4), dtype=np.int16)  #創建1數組
 11 d = np.arrange(10,25,5)  #創建相同步數數組
 12 np.linspace(0,2,9)  #創建等差數組
 13 
 14 e = np.full((2,2), 7) #創建常數數組
 15 f = np.eye(2) #創建2x2矩陣
 16 np.random.random((2,2)) #創建隨機數組
 17 np.empty((3,2)) #創建空數組

2.複製數組

  1 #複製數組
  2 h = a.view()
  3 np.copy(a)
  4 h = a.copy()

3.輸出數組array

  1 # 輸出數組array
  2 import numpy as np
  3 print(my_array) #打印數組
  4 
  5 #saving &Loading on disk保存到磁盤
  6 np.save('my_array', a)
  7 np.savez('array.npz', a, b)
  8 np.load('my_array.npy')
  9 
 10 #saving &Loading Text files保存到文件
 11 np.loadtxt("my file.txt")
 12 np.genfromtxt("my_file.csv", delimiter=',')
 13 np.savetxt("marry.txt", a, delimiter="")

4.Numpy中的基本運算

  1 # 基本運算
  2 import numpy as np
  3 
  4 #arithmetic operation算術運算
  5 g = a - b
  6 np.subtract(a,b) #減法
  7 b+a
  8 np.add(b,a) #加法
  9 a / b
 10 np.divide(a,b) #除法
 11 a * b
 12 np.multiple(a,b) #乘法
 13 np.exp(b) #指數
 14 np.sqrt(b) #開方
 15 np.sin(a) #sin函數
 16 np.cos(b) #cos函數
 17 np.log(a) #log函數
 18 e.dot(f) #內積
 19 
 20 #Comparison比較
 21 a == b #元素
 22 a < 2 #元素
 23 np.array_equal(a,b) #數組
 24 
 25 #Aggregate Functions 函數
 26 a.sum() #求和
 27 b.min() #最小值
 28 b.max(axis=0) #最大值數組列
 29 b.cumsum(axis=1) #元素累加和
 30 a.mean() #平均值
 31 b.median() #中位數
 32 a.corrcoef() #相關係數
 33 np.std(b) #標準差

5.數組處理

  1 # 數組處理
  2 import numpy as np
  3 
  4 #Transposing Array
  5 I = np.transpose(b) #轉置矩陣
  6 i.T #轉置矩陣
  7 
  8 #Changing Array Shape
  9 b.ravel() #降爲一維數組
 10 g.reshape(3,-2) #重組
 11 
 12 #Adding/Removing Elements
 13 h.resize((2,6)) #返回shape(2,6)
 14 np.append(h,g) #添加
 15 np.insert(a,1,5) #插入
 16 np.delete(a,[1]) #刪除
 17 
 18 #Combining Arrays
 19 np.concatenate((a,d), axis=0) #連結
 20 np.vstack((a,b)) #垂直堆疊
 21 np.r_[e,f] #垂直堆疊
 22 np.hstack((e,f)) #水平堆疊
 23 np.column_stack((a,d)) #創建水平堆疊
 24 np.c_[a,d] ##創建水平堆疊
 25 
 26 #splitting arrays
 27 np.hsplit(a,3) #水平分離
 28 np.vsplit(c,2) #垂直分離

6.數組索引

  1 # 數組索引
  2 import numpy as np
  3 #subsetting
  4 a[2] #選取數組第三個元素
  5 b[1,2] #選取2行3列元素
  6 
  7 #slicing
  8 a[0:2] #選1到3元素
  9 b[0:2,1] #選1到2行的2列元素
 10 b[:1] #選所有1行的元素
 11 c[1,...] #c[1,:,:]
 12 a[ : :-1]  #反轉數組
 13 
 14 #Boolean Indexing
 15 a[a<2] #選取數組中元素<2的
 16 
 17 #Fancy Indexing
 18 b[[1,0,1,0], [0,1,2,0]]
 19 #選取[1,0],[0,1],[1,2],[0,0]
 20 b[[1,0,1,0][:, [0,1,2,0]]]
 21 #選取矩陣的一部分

7.Numpy中的數據類型

  1 # numpy中的數據類型
  2 np.int64 #64位整數
  3 np.float32 #標準雙精度浮點
  4 np.complex #複雜樹已浮點128爲代表
  5 np.bool #true&false
  6 np.object #python object
  7 np.string_ #固定長度字符串
  8 np.unicode_ #固定長度統一碼

8.檢查數組信息

  1 # 檢查數組信息
  2 a.shape #數組維度
  3 len(a) #數組長度
  4 b.ndim #數組維度數量
  5 e.size #數組元素數量
  6 b.dtype #元素數據類型
  7 b.dtype.name #數據類型名
  8 b.astype(int) #改變數組類型
  9 
 10 #asking for help更多信息
 11 np.info(np.ndarray.dtype)

9.對數組進行排序

  1 #對數組進行排序
  2 a.sort()
  3 c.sort(axis=0)

參考信息:https://www.kesci.com/

發佈了59 篇原創文章 · 獲贊 61 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章