Python数据分析三剑客之Numpy篇

Numpy是什么

Numpy(Numerical Python) 是科学计算基础库,提供大量科学计算 相关功能,比如数据统计,随机数生成等。其提供最核心类型为多 维数组类型(ndarray),支持大量的维度数组与矩阵运算, Numpy支持向量处理ndarray对象,提高程序运算速度。

安装

安装 NumPy 最简单的方法就是使用 pip 工具,语法格式如下:

 `pip install numpy`


array创建数组

numpy模块的array函数可以生成多维数组。例如,如果要生成一 个二维数组,需要向array函数传递一个列表类型的参数。每一个列 表元素是一维的ndarray类型数组,作为二维数组的行。另外,通 过ndarray类的shape属性可以获得数组每一维的元素个数(元组形 式),也可以通过shape[n]形式获得每一维的元素个数,其中n是 维度,从0开始。

语法格式如下:

`   1.  numpy.array(object, dtype = None, copy = True,      2.  order = None, subok = False, ndmin = 0)        `


arange创建数组

使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如 下:

`numpy.arange(start, stop, step, dtype)`


随机数创建

numpy中的random模块包含了很多方法可以用来产生随机数。

ndarray 对象

Numpy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系 列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

zeros创建

创建指定大小的数组,数组元素以 0 来填充

numpy.zeros(shape, dtype = float, order = 'C')

zeros_like:根据传入的数组形状创建全为0的数组

ones创建

创建指定形状的数组,数组元素以 1 来填充。

 numpy.ones(shape, dtype = None, order = 'C')

empty 创建

创建一个指定形状(shape)、数据类型(dtype)且未初始化的数 组,里面的元素的值是之前内存的值:

numpy.empty(shape, dtype = float, order = 'C')

full()创建

创建全为某个指定值的数组

`full(shape,fill_value)`


创建单位矩阵

单位矩阵从左上角到右下角的对角线上的元素均为1,除此以外全都 为0。任何矩阵与单位矩阵相乘都等于本身,而且单位矩阵因此独特 性在高等数学中也有广泛应用。

linspace创建

linspace函数用于创建一个一维数组,数组是一个等差数列构成 的,格式如下:

`   1.  np.linspace(start, stop, num=50,      2.  endpoint=True, retstep=False, dtype=None)        `


logspace 创建

logspace 函数用于创建一个于等比数列。格式如下:



1.  np.logspace(start, stop, num=50,
    
2.  endpoint=True, base=10.0, dtype=None)
    


一维数组索引和切片

ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。 ndarray 数组可以基于 0 - n 的下标进行索引,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。

二维数组的索引和切片

改变数组的维度

通过reshape方法可以将一维数组变成二维、三维或者多维数组, 也可以通过reshape方法将多维数组变成一维。

通过ravel方法或flatten方法可以将多维数组变成一维数组。改变数 组的维度还可以直接设置Numpy数组的shape属性(元组类型), 通过resize方法也可以改变数组的维度。

数组的拼接

concatenate()

concatenate 函数用于沿指定轴连接相同形状的两个或多个数组, 格式如下:

`numpy.concatenate((a1, a2, ...), axis)   `


a1, a2, …:相同类型的数组

axis:沿着它连接数组的轴,默认为 0

hstack()、vstack()和dstack()的使用

numpy.hstack它通过水平堆叠来生成数组。

numpy.vstack 它通过垂直堆叠来生成数组。

数组的转置

将行与列对调,即第一行变成第一列…或第一列变成第一行…的操作 即使转置操作。

数组的分隔

split分隔

numpy.split 函数沿特定的轴将数组分割为子数组,格式如下:

`numpy.split(ary, indices_or_sections, axis)`


ary:被分割的数组

indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置 (左开右闭)

axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分

水平分隔

使用hsplit函数可以水平分隔数组,该函数有两个参数,第1个参数 表示待分隔的数组,第2个参数表示要将数组水平分隔成几个小数 组。

垂直分隔

使用vsplit函数可以垂直分隔数组,该函数有两个参数,第1个参数 表示待分隔的数组,第2个参数表示将数组垂直分隔成几个小数组。

数学函数

Numpy支持向量处理ndarray对象,提高程序运算速度。

算术函数

如果参与运算的两个对象 都是ndarray,并且形状相同,那么会对 位彼此之间进行(+ - * /)运算。NumPy 算术函数包含简单的加减 乘除: add(),subtract(),multiply() 和 divide()。

numpy.mod() 计算输入数组中相应元素的相除后的余数。

函数 numpy.remainder() 也产生相同的结果。

统计函数

NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大 元素,百分位标准差和方差等。 具体如下:

其他常用函数

数组排序

排序中主要用到的方法是np.sort和np.argsort。其中np.sort()是对 数组直接排序。而np.argsort()是返回排序后的原始索引。

numpy广播机制

广播的规则

1,如果两个数组维度个数不同,那么小维度的数组形状会在 左边补1

2,如果两个数组形状在任何一个维度上都不匹配,数组的形 状会沿着维度为1的维度扩展到匹配上另一个数组的形状

3,如果没有维度形状为1,则会引发异常

比较掩码

比较操作,会返回与参与运算数组形状相同的数组,其中,满足条 件的为True,不满足的为False

整理不易,希望能对学习numpy的小伙伴有所帮助!

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

图片

👉Python副业创收路线👈

图片

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自 网络,如有侵权,请联系删除。

  • 19
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值