Numpy复习总结(一)

本篇文章主要是复习Numpy,如下:

Numpy简介

numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包,numpy最重要的一个特点就是其N维数组对象(ndarray),该对象是一个快速而灵活的大数据集容器。

Numpy部分功能

1.ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。
2.用于对整组数据进行快熟运算的标准数学函数。
3.用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
4.线性代数、随机数生成以及傅里叶变换功能。
5.用于集成由C、C++、Fortran等语言编写代码的工具。

对于大部分数据分析应用而言,我最关注的Numpy功能主要集中在:

  1.用于数据整理和清理、子集构造和过滤、转换等快速的矢量化数组运算。
  2.常用的数据算法,如排序、唯一化、集合运算等
  3.高效的描述统计和数据聚合/摘要运算
  4.用于异构数据集的合并/连接运算的数据对齐和关系型数据运算。
  5.将条件逻辑表述为数组表达式
  6.数据的分组运算(聚合、转换、函数应用等)
一、Numpy数组创建函数
函数说明
array将输入数据(列表、元祖、数组或其他序列类型)转换为ndarray
asarray将输入转换为ndarray,如果输入本身就是一个ndarray就不进行转换
arange类似于内置的range,但返回的事一个ndarray而不是列表
ones/ones_like根据指定的形状和dtype创建一个全1的数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全1的数组
empty/empty_like创建新数组,只分配内存空间但不填充任何值
eye/identity创建一个正方形的N*N单位矩阵(对角线为1,其余为0)
二、Numpy数组的操作

1.基本的索引和切片
2.布尔型索引、花式索引
3.数组转置和轴对换(transpose & T)
4.利用数组进行数据处理

三、Numpy数学和统计方法
mean、sum以及标准差std等聚合计算,既可以当做数组的实例方法调用,也可愿意当做顶级Numpy函数使用

基本数组统计方法:

函数说明
sum对数组中全部或某轴向的元素求和,零长度的数组的sum为0
mean算术平均数。零长度的数组的mean为NaN
std/var分别为标准差和方差,自由度可调
min/max最大值和最小值
argmin最小元素的索引
argmax最大元素的索引
cumsum所有元素的累计和
cumprod所有元素的累计积
四、Numpy数组的集合运算

将数组以二进制格式保存到磁盘:np.save和np.load是读写磁盘数组数据的两个主要函数。
如下是基本的集合运算函数:

函数说明
unique(x)计算x中的唯一元素,并返回有序结果
intersect1d(x,y)计算x和y中的公共元素,并返回有序结果
union1d(x,y)计算x和y的并集,并返回有序结果
in1d(x,y)得到一个表示“x的元素是否包含于y”的布尔型数组
setdiff1d(x,y)集合的差,即元素在x中且不在y中
五、Numpy随机数函数

下面列表是Numpy生成随机数方法,每个方法函数生成的随机数效果不一,选择自己需要的函数即可。

函数说明
seed()确定随机数生成器的种子
permutation()返回一个序列的随机排列或返回一个随机排列的范围
shuffle()对一个序列就地随机排列
rand()产生均匀分布的样本值
randint()从给定的上下限范围内随机选取整数
randn()产生正态分布(平均值为0,标准差为1)的样本值
binormal()产生二项分布的样本值
normal()产生正太(高斯)分布的样本值
beta()产生Beta分布的样本值
uniform()产生在【0,1】中均匀分布的样本值
gamma()产生Gamma分布的样本值
chisquare()产生卡方分布的样本值
六、Numpy数组的重塑

假设有一个一维数组,我们希望将其重新排列为一个矩阵:
在这里插入图片描述
多维数组也能被重塑:
在这里插入图片描述

七、Numpy数组的合并和拆分

数组合并:np.concatenate()可以按指定轴将一个由数组组成的序列(如元祖、列表等)连接到一起,如下:
在这里插入图片描述
按行轴axis=0连接,此方法与np.vstack((arr1,arr2))效果一样,按列轴axis=1连接,此方法与np.hstack((arr1,arr2))效果一样。

数组拆分:np.split()方法用于将一个数组沿指定轴拆分为多个数组(这里我就不上图了)。

Numpy数组连接函数详细列表:

函数说明
concatenate()最一般化的连接,沿一条轴连接一组数组
vstack \ row_stack ()以面向行的方式对数组进行堆叠(沿轴0)
hstack()以面向列的方式对数组进行堆叠(沿轴1)
column_stack()类似于hstack,但是会先将一位数组转换为二维列向量
dstack()以面向‘深度’的方术对数组进行堆叠(沿轴2)
split()沿指定轴在指定的位置拆分数组
hsplit \ vsplit \ dsplit()split的便捷化函数,分别沿轴0、1、2进行拆分

Numpy复习总结这章节就到这里了,还有很多功能方法这里没有介绍,比如说元素的重复操作、花式索引的等价函数等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值