Python之Numpy库基本使用

目录

一、为什么要使用Numpy库

1. 低效的Python for循环

2. Numpy为什么如此高效

2.1 编译型语言VS解释型语言 

2.2 连续单一类型存储VS分散多变类型存储 

3. 什么时候用Numpy 

二、Numpy数组的创建

1. 从列表开始创建

2. 从头创建数组

三、Numpy数组的性质

1. 数组的属性

2. 数组索引 

2.1 一维数组的索引 

2.2 多维数组的索引——以二维为例 

2.3 数组的切片

2.4 数组的变形

3. 数组的拼接 

3.1 水平拼接——非视图 

3.2 垂直拼接——非视图

4. 数组的分裂

4.1 split的用法 

4.2 hsplit的用法

4.3 vsplit的用法

四、Numpy四大运算

1. 向量化运算

1.1 与数字的加减乘除等

1.2 绝对值、三角函数、指数、对数

1.3 两个数组的运算

2. 矩阵运算

3. 广播运算 

4. 比较运算和掩码 

4.1 比较运算 

4.2 操作布尔数组

4.3 将布尔数组作为掩码 

5 . 花哨的索引 

5.1 一维数组

5.2 多维数组 

五、其他Numpy通用函数

1. 数值排序

2. 最大最小值 

3. 数值求和、求积 

4. 中位数、均值、方差、标准差 


一、为什么要使用Numpy库

1. 低效的Python for循环

【例】 求100万个数的倒数

def compute_reciprocals(values):
    res = []
    for value in values:      # 每遍历到一个元素,就要判断其类型,并查找适用于该数据类型的正确函数
        res.append(1/value)
    return res


values = list(range(1, 1000000))
%timeit compute_reciprocals(values)
179 ms ± 37.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit :ipython中统计运行时间的魔术方法(多次运行取平均值) 

import numpy as np

values = np.arange(1, 1000000)
%timeit 1/values
5.01 ms ± 539 µs per loop (mean ± s
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海大学 吴昊

作者逐个题目分析的噢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值