Python机器学习入门:NumPy数组操作详解

1 下载量 50 浏览量 更新于2024-08-31 收藏 70KB PDF 举报
"唐宇迪的《python数据分析与机器学习实战》教程,介绍如何使用Numpy进行数据处理。本文档主要涵盖了numpy.array()的使用,包括创建数组、查看数组形状、理解数组元素类型以及如何从文件读取数据。" 在机器学习领域,Numpy是一个至关重要的库,它提供了强大的多维数组对象和矩阵运算功能。以下是对标题和描述中提到的知识点的详细解释: 1. **numpy.array()**: 这是Numpy库中最基本的函数,用于创建数组。在示例中,我们看到了如何创建一维数组(vector)和二维数组(matrix)。`numpy.array()`接受一个列表或其他可迭代对象作为输入,生成相应结构的数组。 ```python vector = numpy.array([5, 10, 15, 20]) # 一维数组 matrix = numpy.array([[5, 10, 15], [20, 25, 30], [35, 40, 45]]) # 二维数组 ``` 2. **数组的shape属性**: `shape`属性用于获取数组的维度和大小。对于一维数组,它返回一个元组,包含一个元素表示数组的长度;对于二维数组,返回一个包含两个元素的元组,分别代表行数和列数。 ```python print(vector.shape) # (4,) - 一维数组,长度4 print(matrix.shape) # (3, 3) - 二维数组,3行3列 ``` 3. **数组元素的数据类型一致性**: Numpy数组中的所有元素必须具有相同的数据类型。如果尝试更改某个元素的类型,数组中所有元素的数据类型都会相应地改变。 4. **numbers.dtype**: `dtype`属性用于查看数组元素的数据类型。在示例中,当将浮点数或字符串添加到整数数组时,数组会自动转换为浮点型或字符串型。 ```python numbers = numpy.array([1, 2, 3, 4]) # int64类型 numbers1 = numpy.array([1, 2, 3, 4.0]) # float64类型 numbers2 = numpy.array([1, 2, 3, '4']) # <U21类型,Unicode字符串 ``` 5. **从文件读取数据**: 使用`numpy.genfromtxt()`函数可以从文本文件中读取数据。这个函数允许设置分隔符(delimiter)、数据类型(dtype)和跳过头部行数(skip_header)。 ```python world_alcohol = numpy.genfromtxt("world_alcohol.txt", delimiter=",", dtype="U75", skip_header=1) # 读取CSV文件 ``` 以上就是Numpy的基础操作,包括创建和操作数组,理解数组的形状,数组元素的数据类型以及从文件读取数据。掌握这些基础,对进行机器学习中的数据预处理和计算至关重要。在实际应用中,还需要学习更多高级功能,如广播机制、矩阵运算、统计函数等,以提升数据分析和建模的效率。