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]])

python-numpy-1的更多相关文章

  1. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  2. 在python&numpy中切片(slice)

     在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...

  3. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  4. Python NumPy学习总结

    一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...

  5. Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)

    Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...

  6. [转]Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()

    Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate() 觉得有用的话,欢迎一起讨论相互学习~Follow Me ...

  7. CS231n课程笔记翻译1:Python Numpy教程

    译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...

  8. 最实用windows 下python+numpy安装(转载)

    最实用windows 下python+numpy安装 如题,今天兜兜转转找了很多网站帖子,一个个环节击破,最后装好费了不少时间. 希望这个帖子能帮助有需要的人,教你一篇帖子搞定python+numpy ...

  9. python numpy array 与matrix 乘方

    python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元 ...

  10. Python Numpy基础教程

    Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...

随机推荐

  1. Eclipse错误提示: Symbol 'xxxx' could not be resolved

    在eclipse中安装maven(网上资源):https://zhinan.sogou.com/guide/detail/?id=1610049267 项目名 右键->configure-> ...

  2. C#等比列放大缩小图片

          public Bitmap ChangeImgSize(Image bit, double Multiple)         {             Bitmap newBitmap ...

  3. Qt 中使用Java代码获取安卓设备的MAC地址(安卓9.0)

    public String GetDeviceMAC() { String strMacAddr = null; try { // 获得IpD地址 InetAddress ip = getLocalI ...

  4. 换发型app任性扣费?苹果app订阅任性扣费?怎么办?刚成功

    2019年9月18日17:09:27 什么黑猫举报没用 先关闭订阅 账户中心自助申请试试,不通过再进行下面这步 https://getsupport.apple.com/?caller=home&am ...

  5. git的详细安装

    git的详细安装 Git 是时候动手尝试下 Git 了,不过得先安装好它.有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包. 从源代码安装 若是条件允 ...

  6. RedisCluster 添加/删除节点

    一,redis cluster命令行 //集群(cluster) CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息. ...

  7. 解决npm安装node-sass太慢及编译错误问题

    环境: win7 node v8.11.1 npm v5.6.0 背景: 最近vue项目使用sass,所以需要sass-loader,sass-loader依赖node-sass,还需安装node-s ...

  8. shell中sed的简单使用

    sed命令行格式为:         sed [-nefri]  ‘command’  输入文本/文件        常用选项:        -n∶取消默认的输出,使用安静(silent)模式.在一 ...

  9. oracle中行转列操作

    数据准备阶段: CREATE TABLE CC  (Student NVARCHAR2(2),Course NVARCHAR2(2),Score INT); INSERT into CC   sele ...

  10. python学习-数据类型

    计算机处理的数据不单纯的指数字,计算机可以处理数字.文本.音频.视频等等各种数据,下面描述的是Python中可以直接使用和处理的基本数据类型.     整数 Python可以处理任意大小的整数,跟ja ...