python编程:numpy包

numpy是使用Python进行科学计算的基本软件包。它包含以下内容:

  1. 强大的N维数组对象
  2. 复杂的(广播)功能
  3. 集成C / C ++和Fortran代码的工具
  4. 有用的线性代数,傅立叶变换和随机数功能

我们先比较一下numpy和list的运算速度,比如随机生成10000的数组,并且每个元素都做平方处理:
在这里插入图片描述
可以发现,numpy的运行速度比list要快很多。

numpy参考文档是http://www.numpy.org/,同学们可以自己学习。

  1. 创建数组
    a) array():将Python对象(list/tuple)转换为数组
    在这里插入图片描述
    b) empty():分配指定大小的数组,未初始化 ,随机填充值
    在这里插入图片描述
    c) zeros(), ones():创建全为0或1的数组
    d) ones_like(),zeros_like():根据指定的形状和type,创建全1、全0数组
    e) eye(), diag():创建对角矩阵
    f) arange():通过开始值、终值和步长创建一维数组
    g) linspace():通过开始值、终值和元素个数创建一维数组
    h) logspace():同上,但创建等比数

  2. 数组的基本属性
    a) ndim:维度
    b) shape:各维度大小(元组)
    c) size:元素个数
    d) dtype:数据类型
    e) 转换数据类型–arr.astype(dtype)

在这里插入图片描述
3. 数组的形状操作
a) reshape 有返回值
在这里插入图片描述

b) shape 数组本身改变
在这里插入图片描述
c) ravel 扁平化
在这里插入图片描述
在这里插入图片描述
d) flatten 扁平化
在这里插入图片描述
4. 广播
a) 让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加1补齐
b) 输出数组的shape是输入数组shape的各个轴上的最大值
c) 如果输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为1时,这个数组能够用来计算,否则出错
d) 当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值

在这里插入图片描述
5. 索引和切片
这里主要和同学们介绍一种布尔型索引。
在这里插入图片描述
假设每个字母都对应data数组中的一行
如何选出对应于字母’a’的所有行???
在这里插入图片描述
要选择’a’以外的其他值,既可以使用不等于符号(!=),也可以通过~对条件进行否定在这里插入图片描述
6. numpy的通用函数
一元函数,是对每一个元素都进行操作
在这里插入图片描述
二元函数使用的时候,注意下广播机制。在这里插入图片描述
比如:在这里插入图片描述
7. 将条件逻辑表述为数组运算: where
numpy.where函数是三元表达式x if condition else y的矢量化版本
在这里插入图片描述
在这里插入图片描述
np.where的第二个和第三个参数不必是数组,它们都可以是标量值
在数据分析工作中,where通常用于根据另一个数组而产生一个新的数组
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值