Python数据分析 Numpy 的使用方法
Numpy 是 Python 中优秀的科学计算库,提供了高效的数组处理与计算功能。在数据分析领域,Numpy 有着极其广泛的应用,本文将详细讲解 Numpy 的使用方法,包括:
- Numpy 数组的创建与常见操作
- Numpy 的数组索引与切片
- Numpy 的数组运算
- Numpy 的广播机制
- Numpy 的常用函数
1. Numpy 数组的创建与常见操作
1.1 创建数组
创建一个 Numpy 数组非常简单,我们只需要传入一个列表或元组即可:
import numpy as np
a = np.array([1, 2, 3])
print(a)
运行上述代码,输出结果如下:
[1 2 3]
我们还可以通过传入元组来创建 Numpy 的多维数组:
b = np.array([(1,2,3), (4,5,6)])
print(b)
运行上述代码,输出结果如下:
[[1 2 3]
[4 5 6]]
1.2 常见属性
Numpy 数组有以下三个常见属性:
- ndim: 数组的维度
- shape: 数组的形状
- size: 数组的元素总数
print(a.ndim) # 1
print(b.ndim) # 2
print(a.shape) # (3,)
print(b.shape) # (2, 3)
print(a.size) # 3
print(b.size) # 6
2. Numpy 的数组索引与切片
2.1 索引
Numpy 数组的索引方式与 Python 列表相同,我们可以通过 [ ]
操作符来访问数组中的元素:
print(a[0]) # 1
print(b[0, 0]) # 1
print(b[1, 2]) # 6
2.2 切片
我们还可以使用切片来访问 Numpy 数组中的元素。与 Python 的切片方式相同,Numpy 也可以使用 [start:end:step]
来设置切片的起始位置、结束位置以及步长。
print(a[0:2]) # [1 2]
print(b[0:2, 0:2]) # [[1 2]
# [4 5]]
print(b[:, 1]) # [2 5]
3. Numpy 的数组运算
3.1 算术运算
Numpy 数组支持常见的算术运算,例如加、减、乘、除等。对于任何两个相同形状的 Numpy 数组,都可以进行算术运算。
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(a - b) # [-3 -3 -3]
print(a * b) # [ 4 10 18]
print(b / a) # [4. 2.5 2. ]
print(a ** 2) # [1 4 9]
3.2 矩阵运算
Numpy 数组支持矩阵运算,例如矩阵乘法等。我们可以使用 np.dot() 函数来进行矩阵乘法:
a = np.array([(1, 2), (3, 4)])
b = np.array([(5, 6), (7, 8)])
print(np.dot(a, b)) # [[19 22]
# [43 50]]
4. Numpy 的广播机制
在 Numpy 中,两个不同形状的数组之间也可以进行算术运算,这个过程被称为广播。Numpy 的广播机制是指,如果两个数组的形状不同,Numpy 将自动调整数组的形状,使它们可以进行算术运算。
a = np.array([1, 2, 3])
b = 2
print(a + b) # [3 4 5]
5. Numpy 的常用函数
5.1 数学函数
Numpy 中有很多常用的数学函数,例如 sin、cos、exp 等。这些函数都直接作用于 Numpy 数组。
a = np.array([0, np.pi/2, np.pi])
print(np.sin(a)) # [0. 1. 0.0000000e+00]
print(np.cos(a)) # [ 1.000000e+00 6.123234e-17 -1.000000e+00]
print(np.exp(a)) # [ 1. 4.48168907 23.14069263]
5.2 统计函数
Numpy 中还有很多统计函数,例如 mean、std、var 等。这些函数可以用于计算 Numpy 数组的统计信息。
a = np.array([(1,2,3), (4,5,6)])
print(np.mean(a)) # 3.5
print(np.mean(a, axis=0)) # [2.5 3.5 4.5]
print(np.mean(a, axis=1)) # [2. 5.]
print(np.std(a)) # 1.707825127659933
print(np.var(a)) # 2.9166666666666665
至此,Numpy 的使用方法已经介绍完毕,希望本文能对大家有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据分析 Numpy 的使用方法 - Python技术站