numpy库的常用知识

Posted 我爱你,中国!中国加油,武汉加油!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 使用

神经网络基本原理简明教程-0-Python-Numpy库的点滴

乐哥学AI_Python:Numpy索引,切片,常用函数

Python_Numpy库的ndarray对象的属性有哪些?如何获取它们的值?

《Python数据分析常用手册》一NumPy和Pandas篇

《Python数据分析常用手册》NumPy和Pandas篇