numpy相關內容

#encoding=utf-8
import numpy as np
p1 = (10,10)
def distance_betwin_p(p1,p2):
num = np.sqrt((p1[0]-p2[0])**2+(p1[1]-p2[1])**2)
return num

print distance_betwin_p((2,7),(8,3))

#創建一個制定行列的數組,默認是0或者正無窮或負無窮∞
np.empty((3,4))

#科學計數法
#1.23e3=1.2310的3次方
#1.23e-3=1.23
10的負3次方

#實數在計算機裏沒有對應表示,只能用浮點數無限逼近,所以在處理0的時候要格外小心
#a-b< 0.1e-10 例如相減的時候當結果小於一個極小的數值就認爲相等

#矢量是有方向和長度的變量,可以用numpy的多維數組來表示,二維矢量就是平面的一個點
#計算矢量X的範數
x = np.array([3,3])
np.linalg.norm(x)
#計算角度
d = np.arctan(3.0/3.0)
#將弧度轉爲角度
np.rad2deg(d)

#向b1方向移動,再向b2方向移動
b1 = np.array([3,0])
b2 = np.array([0,3])
np.linalg.norm(b1+b2)
#使用兩個矢量相減
a = np.array([2,7])
b = np.array([8,3])
np.linalg.norm(a-b)
#numpy數組(矢量)默認的±*/操作都是對應位置的元素相操作

#餘弦相似度,向量的內積,對應元素相乘再相加
#np.linalg.norm(d1)計算向量的範數,即長度
d1 = np.array([2,7])
d2 = np.array([8,3])
costheta = d1.dot(d2)/(np.linalg.norm(d1)*np.linalg.norm(d2))

#在X軸上生成20000個從-10000到10000的離散點
#使用矢量計算直接生成對應多項式-3x2+5*x-6所有計算結果
#注意這裏沒有使用循環,一次算了20000個結果
X = np.linspace(-10000,10000,20000)
Y = (X
2)(-3)+(5X)-6
#計算最大值
Y.max()
#獲取當前數組最大值對應的索引
Y.argmax()
#not a number 當數據讀取缺失或計算異常時會出現,本質是一個浮點數
np.nan
#無窮大
np.inf
#以e爲底的指數
np.exp(10)
#對數
np.log(10)
#三角函數
np.sin(10)
#開方
np.sqrt(10)
#將數組類型強制轉爲int
X.astype(np.int)
#返回數組的形狀
X.shape

n_array < 60 #返回滿足條件的布爾類型矩陣
n_array[n_array<60] #將n_array中小於60的數值選擇出來
n_array.mean()# 求平均值
n_array.std() # 求標準差
n_array.max() # 最大值
n_array.min() # 最小值
n_array[:,1] # 選擇當前二維數組第二列
n_array[1,:] # 選擇當前二維數組第二列
n_array[:,:,1] # 選擇當前三維數組第三個維度第二列的內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章