第二部分:数据处理与分析
1. Numpy 基础
Numpy(Numerical Python)是一个强大的Python库,专为科学计算而设计。它提供了高效的多维数组对象,以及丰富的函数库来操作这些数组。Numpy 是数据分析和机器学习项目的基础模块之一,相比于纯Python,其处理大规模数据的效率更高。
1.1 Numpy 数组创建与操作
Numpy的核心数据结构是ndarray(n-dimensional array),可以用来存储同一类型的多维数据。理解和掌握Numpy数组的创建和基本操作是后续深入学习的基础。
-
创建Numpy数组:
- 从Python列表创建:最简单的方式是直接从Python的列表(或嵌套列表)来创建数组。
- 使用Numpy内置函数:
np.array()
: 从列表或元组创建数组。np.zeros()
: 创建一个全部元素为0的数组。np.ones()
: 创建一个全部元素为1的数组。np.arange()
: 类似于Python的range()
,用于创建一个范围数组。np.linspace()
: 创建一个指定起始点和结束点的等差数列数组。
import numpy as np list_a = [1, 2, 3] array_a = np.array(list_a) # 从列表创建Numpy数组 array_b = np.zeros((2, 2)) # 创建2x2的全零数组 array_c = np.ones((3, 3)) # 创建3x3的全一数组 array_d = np.arange(0, 10, 2) # 创建从0到10,间隔为2的数组 array_e = np.linspace(0, 1, 5) # 创建从0到1,等距的5个数
-
数组属性:
ndarray.ndim
: 数组的维度。ndarray.shape
: 数组的形状。ndarray.size
: 数组中元素的总数。ndarray.dtype
: 数组中元素的数据类型。
print(array_a.ndim) # 输出数组的维度 print(array_b.shape) # 输出数组的形状 print(array_c.size) # 输出数组总元素数量 print(array_d.dtype) # 输出数组的数据类型
-
数组操作:
- 索引和切片:可类似于Python的列表来对数组进行操作以获取元素。
- 数组变形:使用
reshape()
或flatten()
方法改变数组的形状。 - 数组合并:使用
hstack()
、vstack()
、concatenate()
等方法合并数组。 - 数组分割:使用
split()
、hsplit()
、vsplit()
等方法对数组进行分割。
array_f = np.array([[1, 2, 3], [4, 5, 6]]) print(array_f[1, 2]) # 数组索引,输出6 array_g = array_f.reshape(3, 2) # 改变数组形状为3x2 array_h = array_f.flatten() # 将多维数组展平成一维 array_i = np.hstack((array_a, array_d))