本文来源公众号“萝卜大杂烩”,仅用于学术分享,侵权删,干货满满。
原文链接:万字长文,Numpy入门教程!
本文给大家整理了一份绝佳的Numpy入门学习资料,文章略长,建议收藏!可以当文档使用,在需要的时候查看!
1 Numpy简介
Numpy的全称是"Numeric Python",直译为"数值Python",可以理解成它是Python的一个专注于数值运算的第三方扩展包,主要是用来处理、计算一维或者多维数组。它提供了丰富对数组的操作,比如:数学运算、数据筛选、线性代数、统计运算、随机模拟、傅里叶变换等。
随着数据科学的发展以及数据量的增加,对海量数据处理的要求也越来越高,Numpy作为Python数据分析、机器学习和数据科学的主力军,Numpy在矩阵和数组运算上有着非常不错的性能,计算速度极快。其次基于Numpy的数据处理库pandas也丰富了Numpy的使用场景。
2 数据类型
Numpy作为Python的第三方扩展包,它提供了比Python更为丰富的数据类型,下面的表格进行统计:
编号 | 类型 | 描述 |
---|---|---|
1 | bool_ | 布尔型数据类型(True 或者 False) |
2 | int_ | 默认整数类型,类似于 C 语言中的 long,取值为 int32 或 int64 |
3 | intc | 和 C 语言的 int 类型一样,一般是 int32 或 int 64 |
4 | intp | 用于索引的整数类型(类似于 C 的 ssize_t,通常为 int32 或 int64) |
5 | int8 | 代表与1字节相同的8位整数。值的范围是-128到127 |
6 | int16 | 代表 2 字节(16位)的整数。范围是-32768至32767 |
7 | int32 | 代表 4 字节(32位)整数。范围是-2147483648至2147483647 |
8 | int64 | 表示 8 字节(64位)整数。范围是-9223372036854775808至9223372036854775807 |
9 | uint8 | 代表1字节(8位)无符号整数 |
10 | uint16 | 2 字节(16位)无符号整数 |
11 | uint32 | 4 字节(32位)的无符号整数 |
12 | uint64 | 8 字节(64位)的无符号整数 |
13 | float_ | float64 类型的简写 |
14 | float16 | 半精度浮点数,包括:1 个符号位,5 个指数位,10个尾数位 |
15 | float32 | 单精度浮点数,包括:1 个符号位,8 个指数位,23个尾数位 |
16 | float64 | 双精度浮点数,包括:1 个符号位,11 个指数位,52个尾数位 |
17 | complex_ | 复数类型,与 complex128 类型相同 |
18 | complex64 | 表示实部和虚部共享 32 位的复数 |
19 | complex128 | 表示实部和虚部共享 64 位的复数 |
20 | str_ | 表示字符串类型 |
21 | string_ | 表示字节串类型 |
3 数据类型标识码
NumPy 中每种数据类型都有自己的唯一标识的字符码,下表总结了常见的数据类型标识码:
字符 | 对应类型 |
---|---|
b | 代表布尔型 |
i | 带符号整型 |
u | 无符号整型 |
f | 浮点型 |
c | 复数浮点型 |
m | 时间间隔(timedelta) |
M | datatime(日期时间) |
O | Python对象 |
S,a | 字节串(S)与字符串(a) |
U | Unicode |
V | 原始数据(void) |
4 安装
下面通过实际案例来介绍快速入门Numpy。一般在安装了anaconda后便默认安装了Numpy,也可以通过其他方式安装:
pip install numpy # pip
conda install numpy # conda
每次使用之前先导入:
5 导入
import numpy as np
导入Numpy后国际惯例命名为np,方便后续使用。
6 查看版本信息
np.__version__
'1.21.5'
7 查看帮助文档
查看Numpy中某个函数的帮助文档:
np.info(np.abs) # 查看np.abs函数的使用文档
absolute(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) -------- >>> x = np.array([-1.2, 1.2]) >>> np.absolute(x) array([ 1.2, 1.2]) >>> np.absolute(1.2 + 1j) 1.5620499351813308 Plot the function over ``[-10, 10]``: >>> import matplotlib.pyplot as plt >>> x = np.linspace(start=-10, stop=10, num=101) >>> plt.plot(x, np.absolute(x)) >>> plt.show() Plot the function over the complex plane: >>> x