NumPy ndarray 用法

官方地址:

NumPy ndarray 初始化

1
2
3
4
5
6
7
import numpy as np
rsize, csize = (3, 3)
np.zeros((rsize, csize)) # filled with zeros
np.ones((rsize, csize)) # filled with ones
np.empty((rsize, csize)) # without initializing entries
np.full((rsize, csize), np.inf) # filled with fill_value(np.inf).
np.array([(1,1,1),(2,2,2), (3,3,3)]).T # commonly used

排序

1
2
3
4
5
6
7
8
9
10
11
import numpy as np
X = np.array([3,2,4,1,5])
# Return a sorted copy of an array.
np.sort(X)
# Returns the indices that would sort an array.
np.argsort(X)

# Sort an array, in-place.
a = np.array([[1,4], [3,1]])
a.sort(axis=1)
a.sort(axis=0)

数值计算

协方差/Pearson相关系数矩阵

给定 $N$ 维样本集合 $(\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_N)^T$

  1. 方差 $\sigma=(\sigma_1,\sigma_2,\cdots,\sigma_N)^T$
  2. 协方差矩阵 $\Sigma$ 其中,$\rho_i\equiv\Sigma_{ii}$, 表示第 $i$ 维特征的方差。
  3. Pearson 相关系数矩阵 $R$任意两个向量的Pearson 相关系数,实际上就等价于先对两个向量分别进行 中心化,然后对中心化之后的向量求 余弦(Cosine)相似度.
1
2
3
4
5
6
import numpy as np
X = np.array([(0,0,0), (2,0,0), (2,0,1), (1,2,0)]).T
# Estimate a covariance matrix, given data and weights.
cov = np.cov(X)
# Return Pearson product-moment correlation coefficients.
cor = np.corrcoef(X)
1
2
3
4
5
# 根据协方差计算Pearson 相关系数矩阵
def _corrcoef(X):
cov = np.cov(X)
d = np.sqrt(np.diag(cov))
return cov / d[:, None] / d[None, :]

References

坚持原创技术分享,您的支持将鼓励我继续创作!