Z = np.nonzero([1,0,2,0,1,0,4,0])
Z
result:(array([0,2,4,6]),)
對於二維隨機數組中各元素,保留其 2 位小數:
Z = np.random.random((5,5))print(Z)
np.set_printoptions(precision=2)
Z
result:[[0.608122410.731980340.946185220.388800870.57783975][0.422698460.337920210.166843040.421440490.31045111][0.18487320.009967820.926832690.800990870.14715122][0.759946620.746675980.352679010.831638630.88817273][0.124840540.228583270.520903420.387980470.82170694]]
array([[0.61,0.73,0.95,0.39,0.58],[0.42,0.34,0.17,0.42,0.31],[0.18,0.01,0.93,0.8,0.15],[0.76,0.75,0.35,0.83,0.89],[0.12,0.23,0.52,0.39,0.82]])
使用 NumPy 找出百分位數(25%,50%,75%):
a = np.arange(15)print(a)
np.percentile(a, q=[25,50,75])
result:[01234567891011121314]
array([3.5,7.,10.5])
Z = np.array([[1,2,1,9,10,3,2,6,7],# 特徵 A[2,1,8,3,7,5,10,7,2],# 特徵 B[2,1,1,8,9,4,3,5,7]])# 特徵 C
np.corrcoef(Z)# result:
array([[1.,-0.05640533,0.97094584],[-0.05640533,1.,-0.01315587],[0.97094584,-0.01315587,1.]])
使用 NumPy 計算矩陣的特徵值和特徵向量:
M = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
w, v = np.linalg.eig(M)# w 對應特徵值,v 對應特徵向量
w, v
#result:(array([1.61168440e+01,-1.11684397e+00,-9.75918483e-16]),#一個數對應一列
matrix([[-0.23197069,-0.78583024,0.40824829],[-0.52532209,-0.08675134,-0.81649658],[-0.8186735,0.61232756,0.40824829]]))
使用 NumPy 計算 Ndarray 兩相鄰元素差值:
Z = np.random.randint(1,10,10)print(Z)# 計算 Z 兩相鄰元素差值print(np.diff(Z, n=1))# 重複計算 2 次print(np.diff(Z, n=2))# 重複計算 3 次print(np.diff(Z, n=3))# result:[2483526769][24-52-341-13][2-97-57-3-24][-1116-1212-1016]