numpy库的常用知识
下面是一些杂碎的知识点:
首先我们说说多维数组:
数组的属性:
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库的常用知识的更多相关文章
- numpy库:常用基本
numpy 本文主要列出numpy模块常用方法 大部分内容来源于网络,而后经过自己的一点思考和总结,如果有侵权,请联系我 我是一名初学者,有哪些地方有错误请留言,我会及时更改的 创建矩阵(采用ndar ...
- matplotlib库的常用知识
看看matplotlib是什么? matplotlib是python上的一个2D绘图库,它可以在夸平台上边出很多高质量的图像.综旨就是让简单的事变得更简单,让复杂的事变得可能.我们可以用matplot ...
- 机器学习之numpy库中常用的函数介绍(一)
1. mat() mat()与array的区别: mat是矩阵,数据必须是2维的,是array的子集,包含array的所有特性,所做的运算都是针对矩阵来进行的. array是数组,数据可以是多维的,所 ...
- numpy库常用基本操作
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
- Python之Numpy库常用函数大全(含注释)
前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...
- NumPy和Pandas常用库
NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...
- Python之Numpy库常用函数大全(含注释)(转)
为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...
- Python数据分析numpy库
1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...
- Numpy库的学习(三)
今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...
随机推荐
- Unix/Linux编程实践教程(二:socket、多线程、进程间通信)
同一接口不同的数据源: 协同进程: fdopen以文件描述符为参数: fopen和popen: 为了实现popen,必须在子进程中调用sh,因为只有shell本身即/bin/sh可以运行任意shell ...
- ACM题目————士兵杀敌(三)
[RMQ算法]:用于当数组过于庞大的时候,查询区间的最大(最小)值. 时间复杂度:O(nlogn),主要时间发费在预处理上,查询只要O(1). 描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军 ...
- javascript学习(三) 内置对象
一:事件(Event)对象 在触发dom事件的时候都会产生一个event对象 type 获取事件类型 target 获取事件目标 stopPropagation() 阻止事件冒泡 preven ...
- ThreadLocal深入理解一
转载:http://www.cnblogs.com/dolphin0520/p/3920407.html 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使 ...
- Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity) 转
硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能.现在的服务器上动不动就是多 CPU 多核. ...
- CAShapeLayer
之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识. 普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般都与给定view的boun ...
- zookeeper系列之五—Leader选举算法
leader选举算法 zookeeper server内部原理 zookeeper client
- 【Linux】vi(vim)起步学起来有些困难,一步一步温习
以Tomcat的配置文件service.xml为例,记录.学习vi的最常用操作. > 什么是vi or vim? [nicchagil@localhost bak]$ man vi VIM() ...
- C语言中的库是什么
在使用tc编写程序时,你或许对其中的*.lib文件产生疑问,这些lib文件有什么用途? 用C 语言编程时,通常要建立一些用户函数.如果这些函数具有通用性,一般的方法是将它们作成头文件,当需要时用“#i ...
- 传递给系统调用的数据区域太小。 (异常来自 HRESULT:0x8007007A)
在做结构体向字节数组转换的时候,常遇到"传递给系统调用的数据区域太小"的错误,究其原因是因为英文与汉字的编码方式不同,一个汉字等于两个字节,而一个英文字母等于1个字节.所以,对于如 ...