NumPy詳細API第四篇

注意:以下代碼是基於python3.5.0編寫的
import numpy as np

# ---------------expsqrt--------------------
B = np.arange(3)
print(B)                   # [0 1 2]
print(np.exp(B))           # [ 1.   2.71828183  7.3890561 ]
print(np.sqrt(B))          # [ 0.   1.          1.41421356]

#---------------------floor向下取整---------------------
a = np.floor(10*np.random.random((3,4)))
# ----------------ravel把矩陣拉長-----------------------
print(a.ravel())
# ---------shape定義矩陣的行和寬,與resize用法相同--------
a.shape = (6, 2)
# ----------------矩陣轉置------------------------------
print(a.T)
print(a.resize((2,6)))
print(a)

# ----------矩陣拼接hstack水平拼接,vstack豎直拼接--------------
a = np.floor(10*np.random.random((2,2)))
b = np.floor(10*np.random.random((2,2)))
print(np.hstack((a,b)))
print(np.vstack((a,b)))

# ----------矩陣切分hsplit水平切分,vsplit豎直切分--------------
a = np.floor(10*np.random.random((2,12)))
print(np.hsplit(a,3))             #把矩陣a水平均勻切分3等分
print(np.hsplit(a,(3,4)))         # 在矩陣a的第3列和第4列後邊切分
a = np.floor(10*np.random.random((12,2)))
print(np.vsplit(a,3))             #把矩陣a數值均勻切分3等分

# -------------等號賦值ab其實是一回事,對a進行的任何操作,b也會跟着改變---------
a = np.arange(12)
b = a                             # =號賦值後,ab屬於同一塊區域,對a進行操作,b也發生變化

#--------------view共享數據,對a進行除改數據之外任何操作,對c都沒影響(淺複製)-------------
c = a.view()

# --------------------------深複製,ad完全獨立-------------------------------
d = a.copy()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章