下面是一些杂碎的知识点:

首先我们说说多维数组:

数组的属性:

ndarray.ndim, 表示数组的秩是多少;

ndarray.shape,返回数组的形状;

ndarray.size,数组元素的总个数,等于shape属性中元组元素的乘积

ndarray.dtype,一个用来描述数组中元素类型的对象

ndarray.itemsize ,数组中每个元素的字节大小。

一些常用的函数

zeros()生成全为零的数组;

ones()生成合为1的数组;

empty()生成一个随机数组;

reshape()函数,,返回一个数组变形的样子。按C风格来哦,即最右边的索引变化最快;

resize()函数,和上面操作相同 ,不过它是改变原数组哦,上面的reshape()不会改变原数组的;

arange()函数,可以产生一个一维的数组哦。

ravel()函数, 它展开的函数的风格通常是C风格的,即最右边的索引变化最快;

transpose(),把数组进行转置,如索引为(2,3,4)元素变为索引为(4,3,2)的元素;

column_stack()函数,把一维数组按列组合成二维数组;

row_stack()函数,一维数组以行组合成二维数组

vstack ()沿着第一个轴组合,hstack ()函数沿着第二个轴组合

vsplit ()沿着纵向的轴分割, array split() 允许指定沿哪个轴分割。

argmax()函数,求出指定的坐标轴上的最大的值的下标。

a = np.array([[2,5,3],[4,7,1]])
a.argmax(0) #求出数组a在第0轴上的最大值的下标,0轴就是列轴
#输出
array([1,1,0]) a.argmax(1) #求出数组a在第1轴上的最大值的下标,1轴就是行轴
#输出:
array([1,1])

newaxis

linspace()函数通过指定开始值、终值和元素的个数来创建一维数组,可以通过endpoint关键字指定是否包括终值,缺省时包括终值;

>>> np.linspace(0,5,11)
array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ])
索引,切片和迭代:

使用arange函数时,不包括终值;

可以能数组的元素的索引作切片哦,记住,索引从0开始的。当少于轴数的索引被提供时,确失的索引被认为是整个切片。

注意:迭代 多维数组是就第一个轴而言的。

数组的flat属性为数组元素的一个迭代器,可以启遍例数组中的每个元素;

随着学习继续补充

补充:

1. numpy中的数组的axis 是从0开始的,最里面的为0,外面的为1, 2等 ,最里面表示变化速度最慢的。。如一个数组 array().shape = (3, 12, 15), axes为 0 的是3, 为1的是12, 为2的是15。 其中吧,12代表了行数, 15代表了列数;

2. Numpy.mean()函数:

它的作用是计算一个 array_like 的算术平均值, 可以指定哪一个axis. .另个有两种方法使用它。

它的原型为:mean(a, axis=None, dtype=None, out=None, keepdims=False)

例子:

>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0)
array([ 2., 3.])
>>> np.mean(a, axis=1)
array([ 1.5, 3.5])

上面的例子我们也可以简单这个做: a.mean(0) 或 a.mean(1)
另个,当axis的参数省略时,它会计算所有值的平均值; 建议用标准的方法写代码;

numpy库的常用知识的更多相关文章

  1. numpy库:常用基本

    numpy 本文主要列出numpy模块常用方法 大部分内容来源于网络,而后经过自己的一点思考和总结,如果有侵权,请联系我 我是一名初学者,有哪些地方有错误请留言,我会及时更改的 创建矩阵(采用ndar ...

  2. matplotlib库的常用知识

    看看matplotlib是什么? matplotlib是python上的一个2D绘图库,它可以在夸平台上边出很多高质量的图像.综旨就是让简单的事变得更简单,让复杂的事变得可能.我们可以用matplot ...

  3. 机器学习之numpy库中常用的函数介绍(一)

    1. mat() mat()与array的区别: mat是矩阵,数据必须是2维的,是array的子集,包含array的所有特性,所做的运算都是针对矩阵来进行的. array是数组,数据可以是多维的,所 ...

  4. numpy库常用基本操作

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...

  5. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  6. NumPy和Pandas常用库

    NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...

  7. Python之Numpy库常用函数大全(含注释)(转)

    为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...

  8. Python数据分析numpy库

    1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...

  9. Numpy库的学习(三)

    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...

随机推荐

  1. Unix/Linux编程实践教程(二:socket、多线程、进程间通信)

    同一接口不同的数据源: 协同进程: fdopen以文件描述符为参数: fopen和popen: 为了实现popen,必须在子进程中调用sh,因为只有shell本身即/bin/sh可以运行任意shell ...

  2. ACM题目————士兵杀敌(三)

    [RMQ算法]:用于当数组过于庞大的时候,查询区间的最大(最小)值. 时间复杂度:O(nlogn),主要时间发费在预处理上,查询只要O(1). 描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军 ...

  3. javascript学习(三) 内置对象

    一:事件(Event)对象 在触发dom事件的时候都会产生一个event对象 type   获取事件类型 target  获取事件目标 stopPropagation()  阻止事件冒泡 preven ...

  4. ThreadLocal深入理解一

    转载:http://www.cnblogs.com/dolphin0520/p/3920407.html 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使 ...

  5. Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity) 转

    硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能.现在的服务器上动不动就是多 CPU 多核. ...

  6. CAShapeLayer

    之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识. 普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般都与给定view的boun ...

  7. zookeeper系列之五—Leader选举算法

    leader选举算法 zookeeper server内部原理 zookeeper client

  8. 【Linux】vi(vim)起步学起来有些困难,一步一步温习

    以Tomcat的配置文件service.xml为例,记录.学习vi的最常用操作. > 什么是vi or vim? [nicchagil@localhost bak]$ man vi VIM() ...

  9. C语言中的库是什么

    在使用tc编写程序时,你或许对其中的*.lib文件产生疑问,这些lib文件有什么用途? 用C 语言编程时,通常要建立一些用户函数.如果这些函数具有通用性,一般的方法是将它们作成头文件,当需要时用“#i ...

  10. 传递给系统调用的数据区域太小。 (异常来自 HRESULT:0x8007007A)

    在做结构体向字节数组转换的时候,常遇到"传递给系统调用的数据区域太小"的错误,究其原因是因为英文与汉字的编码方式不同,一个汉字等于两个字节,而一个英文字母等于1个字节.所以,对于如 ...