python之numpy的基础用法

数组-numpy

1.numpy基础

python之numpy的基础用法_第1张图片

在使用reshape时不时原地操作,具有返回值,除非使用赋值操作才会改变原有值;

python之numpy的基础用法_第2张图片

python之numpy的基础用法_第3张图片

关于展开数组的情况如下:

python之numpy的基础用法_第4张图片

从上面我们可以看出,69行输出的并不是一维数组如果操作b.reshape(12,)则是一维的。当

然使用flatten也不会产生原地操作。

有时,在使用numpy的时候我们可能还会遇到对数组加减乘除的一些情况,例如以下的几种情况:

python之numpy的基础用法_第5张图片

如果出现除以0的情况则会显示如下:

python之numpy的基础用法_第6张图片

还有一种情况就是在np.array中出现相同数组进行计算的情况,此时计算和上述一样但是加减乘除会按照对应位置的数字进行加减乘除;

但是有些特殊情况比如两个数组可能只是在某一维度上是一样的但是其他维度并不一样该如何解决:

python之numpy的基础用法_第7张图片以上可知t7是一维,一行六列,而t5是四行六列则选择对相应的行进行操作;

python之numpy的基础用法_第8张图片以上在列上为行数一样则选择对列进行操作;

在计算数组的时候数组坚持广播原则:

其中数组的类名为:

 

而数组的数值类型属于:

而在创建数组的过程中要确定数据类型的话可以加上参数dtype= “   ”

python之numpy的基础用法_第9张图片

遇到需要将多余的小数去除的时候对数组可以使用   a.astype   的操作改变数据类型;

 

在需要运用到数组的时候我们还需要了解到“轴”的含义:python之numpy的基础用法_第10张图片

 

 

python之numpy的基础用法_第11张图片

 

以上对于轴的理解可能有点难,但是总体上讲0轴是行,1轴是列;

 

python之numpy的基础用法_第12张图片

 

此时0轴是“块”,1轴是行,2轴是列

Ndarray中转置的使用:python之numpy的基础用法_第13张图片

在numpy中的二位数组索引的切片如果是在一个维度对行进行操作:

 

 

 

 

2.numpy数组的切片

1.切片

python之numpy的基础用法_第14张图片对行和列操作注意中间逗号区分行列,如果需要取固定的值则

前后都要加中括号;

2.数值的修改

对于需要修改的值直接就可以赋值操作:

python之numpy的基础用法_第15张图片

当然选择布尔类型赋值也是可以进行相关的赋值操作的:

python之numpy的基础用法_第16张图片

但是如果说要给大于0小于10的书赋值则需要选择三元运算符操作(where)

python之numpy的基础用法_第17张图片

此时对于小于10的数进行赋值为0,对于大于10的数进行赋值为10;

数组赋值的裁剪操作:clip

python之numpy的基础用法_第18张图片最后nan的位置同样是nan;

数组的拼接:

python之numpy的基础用法_第19张图片

其中vstack方法为在竖直方向上进行拼接数组,而hstack方法则是在水平方向上进行数组的拼接;

数组对应行列的交换(理解为赋值):

python之numpy的基础用法_第20张图片

Numpy中其他的常用方法:

python之numpy的基础用法_第21张图片
python之numpy的基础用法_第22张图片0是在对每一列的最大值,1是在对每一行的最小值做操作

 

Numpy生成随机数:

python之numpy的基础用法_第23张图片python之numpy的基础用法_第24张图片

Numpy中需要注意的赋值操作,浅拷贝和深拷贝;

你可能感兴趣的:(python之numpy的基础用法)