numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue at 0x40b6a26c>)
axis 不设置值,对 m*n 个数求均值,返回一个实数
axis = 0:压缩行,对各列求均值,返回 1* n 矩阵
axis =1 :压缩列,对各行求均值,返回 m *1 矩阵
np.mean(now2) # 对所有元素求均值
np.mean(now2,0) # 压缩行,对各列求均值
np.mean(now2,1) # 压缩列,对各行求均值
***********************
a = np.zeros((10, 2))
array([[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.]])
b = a.T #转置
采用视图可以修改形状而不修改初始对象。
>>> c = b.view()
c.shape = (20)#错误
array([0, 1, 2, 3, 4, 5])
a.reshape((2,3))--
array([[0, 1, 2],
[3, 4, 5]])
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> a.reshape((2, 2, 2))
array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]]])
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
>>> a.shape
(4, 4)
>>> a.reshape(-1,1)
array([[ 1],
[ 2],
[ 3],
[ 4],
[ 5],
[ 6],
[ 7],
[ 8],
[ 9],
[10],
[11],
[12],
[13],
[14],
[15],
[16]])
>>> a.reshape(2,-1)
array([[ 1, 2, 3, 4, 5, 6, 7, 8],
[ 9, 10, 11, 12, 13, 14, 15, 16]])
不能整除会出错
**************
range()返回的是range object,而np.nrange()返回的是numpy.ndarray()
range()不支持步长为小数,np.arange()支持步长为小数
range(1,5)--[1, 2, 3, 4]
np.arange(1, 5, .5)--array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
***********************
np.cov(x)这种情况计算的是x方差的无偏估计,即s2=∑ni=1(x?x^)n?1,而np.var(x)计算的则是s2=∑ni=1(x?x^)n
>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T
>>> x
array([[0, 1, 2],
[2, 1, 0]])
>>> np.cov(x)
array([[ 1., -1.],
[-1., 1.]])
>>> x = [-2.1, -1, 4.3]
>>> y = [3, 1.1, 0.12]
>>> X = np.vstack((x,y))
>>> print np.cov(X)
[[ 11.71 -4.286 ]
[ -4.286 2.14413333]]
>>> print np.cov(x, y)
[[ 11.71 -4.286 ]
[ -4.286 2.14413333]]
>>> print np.cov(x)
11.71
****************
newData,meanVal=zeroMean(dataMat)
covMat=np.cov(newData,rowvar=0)
numpy中的cov函数用于求协方差矩阵,参数rowvar很重要!若rowvar=0,说明传入的数据一行代表一个样本,若非0,说明传入的数据一列代表一个样本。因为newData每一行代表一个样本,所以将rowvar设置为0
*******
第一种意思,默认全部选择:
如,X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素
第二种意思,指定范围,注意这里含左不含右
如,X[:, m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右
当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,都是在.data段(已初始化)或者.bss段(未初始化)内,但是它只在定义它的源文件内有效,其他源文件无法访问它。所以,普通全局变量穿上static外衣后,它就变成了新娘,已心有所属,只能被定义它的源文件(新郎)中的变量或函数访问。