"本PPT主要介绍了Python编程中的一些常用库,包括numpy、pandas、matplotlib和scikit-learn,并提供了这些库的基本用法示例。对于numpy,讲解了如何创建数组、数组的属性和操作,如形状修改、转置、数据类型转换,以及等差、等比序列的生成。此外,还介绍了数组的存取和切片,以及随机数的生成。"
在Python中,numpy是一个强大的数值计算库,它提供了高效的多维数组对象以及用于处理这些数组的工具。以下是对numpy库的详细介绍:
1. 创建数组:
- 使用`np.array()`函数可以创建向量或矩阵,例如`a=np.array([5,10,15,20])`创建了一维数组,而`b=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])`创建了一个二维数组。
- 数组的形状可以通过`.shape`属性获取,如`b.shape=(3,4)`表示3行4列。
- 数组的形状可以修改,但需要注意形状变化可能会导致内存共享,如`b.shape=(4,3)`。
2. 数组操作:
- 数组的转置通过`.T`属性实现,如`b.T`。
- 数据类型可以通过`dtype`参数指定,如`d=np.array([...], dtype=np.float)`,之后可以通过`astype()`方法转换数据类型,如`f=d.astype(np.int)`。
3. 数列生成:
- `np.arange(start, stop, step)`生成等差序列,`np.linspace(start, stop, num, endpoint=True/False)`生成等差序列,其中`endpoint`参数控制是否包含终点。
- `np.logspace(start, stop, num, endpoint=True/False, base=2)`生成等比序列,其中`base`参数指定底数。
4. 数组存取与切片:
- 数组元素可以通过索引访问,如`a[3]`。
- 切片操作可以选取子数组,如`a[3:6]`,`a[:5]`,`a[1:9:2]`,`a[::-1]`分别表示不同的切片方式。
- 切片是原数组的视图,改变切片会影响到原数组,如`b=a[2:5]`后`b[0]=200`会改变`a`。
5. 随机数生成:
- `np.random.rand(d0, d1, ..., dn)`生成形状为`(d0, d1, ..., dn)`的浮点数数组,范围在[0, 1)之间。
- `np.random.rand(shape)`可以指定形状生成随机数,如`b=np.random.rand(3,2)`。
除了numpy,其他库也各有特色:
- pandas库是用于数据分析的,提供DataFrame和Series等结构,方便数据清洗、处理和分析。
- matplotlib是用于数据可视化的,可以绘制各种图表,如折线图、散点图、直方图等。
- scikit-learn是机器学习库,提供了丰富的算法和模型,如线性回归、决策树、支持向量机等,用于训练模型和预测。
了解并熟练掌握这些库,能极大地提升你在数据处理、分析和机器学习项目中的效率。