mean()

  1. mean() 函数定义:

numpy.``mean(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue at 0x40b6a26c>)[source]

Compute the arithmetic mean along the specified axis.

Returns the average of the array elements. The average is taken over the flattened array by default, otherwise over the specified axis. float64intermediate and return values are used for integer inputs.

Parameters:

  • a : array_like

    Array containing numbers whose mean is desired. If a is not an array, a conversion is attempted.

  • axis : None or int or tuple of ints, optional

    Axis or axes along which the means are computed. The default is to compute the mean of the flattened array.New in version 1.7.0.If this is a tuple of ints, a mean is performed over multiple axes, instead of a single axis or all the axes as before.

  • dtype : data-type, optional

    Type to use in computing the mean. For integer inputs, the default is float64; for floating point inputs, it is the same as the input dtype.

  • out : ndarray, optional

    Alternate output array in which to place the result. The default is None; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See doc.ufuncs for details.

  • keepdims : bool, optional

    If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.If the default value is passed, then keepdims will not be passed through to the mean method of sub-classes of ndarray, however any non-default value will be. If the sub-classes sum method does not implement keepdims any exceptions will be raised.-

Returns:

  • m : ndarray, see dtype parameter above

    If out=None, returns a new array containing the mean values, otherwise a reference to the output array is returned.

  1. mean()函数功能:求取均值

    经常操作的参数为axis,以m * n矩阵举例:

    axis 不设置值,对 m*n 个数求均值,返回一个实数

    axis = 0:压缩行,对各列求均值,返回 1* n 矩阵

    axis =1 :压缩列,对各行求均值,返回 m *1 矩阵

    举例:

    >>> import numpy as np

    >>> np.mean(now2) # 对所有元素求均值

    3.5

    >>> np.mean(now2,0) # 压缩行,对各列求均值

    matrix([[ 2.5, 3.5, 4.5]])

array类矩阵

import numpy

建立矩阵

直接建立

a = numpy.array([[1,2,3],[4,5,6],[7,8,9]])
b = numpy.array([[1,2], [3,4]], dtype=complex )

从tuple建立

a = [[1,2,3],[4,5,6],[7,8,9]]
b = numpy.array(a)

建立特殊矩阵

a = numpy.zeros([4,5]) # all zero
a = numpy.ones([7,6]) # all one
a = numpy.eye(4,7) # 4x7 diagonal
a = numpy.diag(range(5)) # 5x5 diagonal
a = numpy.empty((2,3))
a = numpy.arange(10, 30, 5) # array([10, 15, 20, 25]), 1-D
a = numpy.linspace(0, 2, 9) # 9 numbers from 0 to 2
a = numpy.random.random((2,3)) # 随机数矩阵
a = numpy.fromfunction(f,(5,4),dtype=int) # 从函数f(x,y)建立

矩阵变换、变形

a.reshape(-1)
a.reshape(3, 4, -1)
a.T # 转置
a.transpose() # 转置
numpy.linalg.inv(a) # 求逆
a.diagonal([offset, axis1, axis2]) # 对角元
numpy.einsum('iijj->ij',a)
numpy.r_[a,b] # 在a中增加新行b
numpy.c_[a,b] # 新列

一般运算

y = x # 建立引用,修改x会影响y
y = x.copy() # 建立副本,修改x不会影响y
a.dot(b) # 矩阵乘法
numpy.dot(a,b) # 矩阵乘法
numpy.trace(a) #求迹

特殊运算

numpy.einsum('iijj->ij',a)

arange()

类似于range(),

range(1,5,2)   #[1, 3]
arange(1,5,2) #[1 3]

reshape()

np.array(range(1,11)).reshape((-1,1))

[[ 1]
[ 2]
[ 3]
[ 4]
[ 5]
[ 6]
[ 7]
[ 8]
[ 9]
[10]] np.array(range(1,11)).reshape((2,5)) [[ 1 2 3 4 5]
[ 6 7 8 9 10]]

meshgrid()

​ meshgrid函数用两个坐标轴上的点在平面上画格。

用法:

  [X,Y]=meshgrid(x,y)

  [X,Y]=meshgrid(x)与[X,Y]=meshgrid(x,x)是等同的

  [X,Y,Z]=meshgrid(x,y,z)生成三维数组,可用来计算三变量的函数和绘制三维立体图

例:x=-3:1:3;y=-2:1:2;

  [X,Y]= meshgrid(x,y);

  这里meshigrid(x,y)的作用是产生一个以向量x为行,向量y为列的矩阵,而x是从-3开始到3,每间隔1记下一个数据,并把这些数据集成矩阵X;同理y则是从-2到2,每间隔1记下一个数据,并集成矩阵Y。即

  X=

  -3 -2 -1 0 1 2 3

  -3 -2 -1 0 1 2 3

  -3 -2 -1 0 1 2 3

  -3 -2 -1 0 1 2 3

  -3 -2 -1 0 1 2 3

  Y =

  -2 -2 -2 -2 -2 -2 -2

  -1 -1 -1 -1 -1 -1 -1

  0 0 0 0 0 0 0

  1 1 1 1 1 1 1

  2 2 2 2 2 2 2

附注:例题中meshgrid(-3:1:3,-2:1:2);因为-3:1:3产生的是含有7个数字的行向量;-2:1:2产生的是含有5个数字的行向量。所以该命令的结果是产生57的矩阵(X,Y都是57的矩阵;其中X是由第一个含7个元素的行向量产生,Y是由第二个行向量产生)

ravel()

与flatten()一样,都是给array数组降维,flatten()返回的是拷贝,与原array数组的存储位置不同,ravel()与原array数组指向一致

>>> x = np.array([[1, 2], [3, 4]])
>>> x
array([[1, 2],
[3, 4]])
>>> x.flatten()
array([1, 2, 3, 4])
>>> x.ravel()
array([1, 2, 3, 4])
两者默认均是行序优先
>>> x.flatten('F')
array([1, 3, 2, 4])
>>> x.ravel('F')
array([1, 3, 2, 4]) >>> x.reshape(-1)
array([1, 2, 3, 4])
>>> x.T.reshape(-1)
array([1, 3, 2, 4])

c_()

将切片对象沿第二个轴(按列)转换为连接。

np.c_[np.array([1,2,3]), np.array([4,5,6])]
array([[1, 4],
[2, 5],
[3, 6]]) np.c_[np.array([[1,2,3]]), 0, 0, np.array([[4,5,6]])]
array([[1, 2, 3, 0, 0, 4, 5, 6]])

最新文章

  1. Publishing failed with multiple errors 异常
  2. ImageView属性
  3. 微信小程序-视图模板
  4. 如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!
  5. LNMP平台搭建---Nginx安装篇
  6. 字符串集合或字符串数组转换成json数组
  7. C#一些知识点:委托和事件的区别
  8. UILabel 自动换行 和支持换行符
  9. linux awk命令详解2
  10. 定制自己的vue模版
  11. Java集合详解一
  12. 论文速读(Yongchao Xu——【2018】TextField_Learning A Deep Direction Field for Irregular Scene Text)
  13. mysql 数据插入时的问题
  14. 两张图概括struts2执行流程核心(经典)
  15. 火狐浏览器 system error code 1722 rpc服务器不可用和谷歌浏览器的插件application/x-print-ladop不支持
  16. 【PowerDesigner】【8】把Comment复制到name中和把name复制到Comment
  17. 每个国家对应的语言Locale和国家代码对照表(转)
  18. POJ 3017 Cut the Sequence
  19. constexpr与常量表达式(c++11标准)
  20. 20135234mqy-——信息安全系统设计基础第五周学习总结

热门文章

  1. 初识python之了解其背景和安装
  2. vue进阶:vuex(数据池)
  3. count(*),count(1),count(字段)
  4. python WordCloud 实现词云
  5. ActiveMQ入门操作示例
  6. ffmpeg生成视频封面图
  7. 并发编程J.U.C之AQS剖析
  8. 中断或取消Promise链的可行方案
  9. 【Day1】1.了解Python
  10. head pose estimation