我们一起来学习Python数据分析的工具学习阶段,包括
,
以及
,它们是python进行科学计算,数据处理以及可视化的重要库,在以后的数据分析路上会经常用的到,所以一定要掌握,并且还要熟练!今天的
先从Numpy开始!
-
<李>初识Numpy李>
<李> ndarray的增删改查李>
<李> ndarray切片与筛选李>
<李> ndarray运算与排序李>
,是Numerical Python的简称,它是Python中的科学计算基本软件包.NumPy为Python提供了大量数学库,使我们能够高效地进行数字计算。更多可点击Numpy官网查看。
其实在前面的 中就有跟大家讲过
-
<李> NumPy数组在创建时有
不,同Python列于表(可以
)。
李。>
<李> NumPy数组中的元素都需要具有
,因此在存储器中将具有相同的大小。数组的元素如果也是数组(可以是Python的原生数组,也可以是ndarray)的情况下,则构成了多维数组。李>
<李> NumPy数组便于对大量数据进行高级数学和其他类型的操作。
李。>
所以,Numpy的核心是ndarray对象,这个对象封装了同质数据类型的n维数组。起名ndarray的原因就是因为是n-dimension-array的简写。接下来本节所有的课程都是围绕着ndarray来讲的,理论知识较少,代码量较多,所以大家在学习的时候,多自己动动手,尝试自己去运行一下代码。
-
<李>由python列表创建李>
-
<李>由numpy内置函数创建李>
这里主要是提供了一些访问,更改或增加ndarray中某一元素的基础方法。
类似于访问python列表中元素的方式,按照元素的指数进行访问或更改。
可使用np.delete (ndarray、元素轴)函数进行删除操作。
这里需要注意的是轴这个参数,在2维数据中,轴=0表示选择行,轴=1表示选择列,但不能机械的认为0就表示行,1就表示列,注意前提 .
<引用类=" article-blockquote ">在三维数据中,轴=0表示组,1表示行,2表示列。这是为什么呢?提示一下,三位数组的形状中组,行和列是怎样排序的?
引用>所以,轴的赋值一定要考虑数组的形状。
再有一点需要注意的是,如果你想让原数据保留删除后的结果,需要重新赋值一下才可以。
往ndarray中增加元素的办法跟python列表也很类似,常用的有两种:
-
<李>一种是添加(附加),就是将新增的元素添加到ndarray的尾部李>
<李>语法为:np。追加(ndarray、元素轴)李>
<李>参数和删除函数一致,用法也一致,这里不再赘述李>
<李>一种是插入(插入),可以让新增元素插入到指定位置李>
<李>语法为:np。插入(ndarray、索引、元素轴)李>
<李>参数中就多了一个指标,指示的是插入新元素的位置。李>
这里值得注意的是,不论是附加还是插入,在往多维数组中插入元素时,一定要注意对应轴上的形状要一致。再一个就是,和删除一样,如果你想要更改原数据,需要重新赋值。
前面学了选择ndarray中的某个元素的方法,这里我们学习获取ndarray子集的方法——切片。
对于切片大家并不陌生,在列表里面我们也接触过切片,一维的ndarray切片与列表无异。需要注意的是,就是理解二维及多维ndarray切片。
-
<李> 2维矩阵切片李>
这里可以看的出,我们筛选了一个矩阵中前三列的所有行,这是如何实现的呢?
切片的第一个元素:表示的是选择所有行,第二个元素:1表示的是从第0列至最后一列(不包含),所以结果如上所示。
再看一个例子:
筛选的是第2 - 3行的所有列。
-
<李>一个常用的切片李>
以列的形式获取最后一列数据:
以一维数组的形式获取最后一列数据: