Python数据读取与可视化:使用xlrd和matplotlib处理Excel文件

需积分: 0 0 下载量 3 浏览量 更新于2024-08-05 收藏 62KB PDF 举报
"刘毅的homework-021,涉及数据读取与处理以及数据可视化" 这个文件是刘毅的一份作业,主要涉及到使用Python进行数据处理和数据可视化的相关知识。作业中主要使用了两个库:`numpy`和`matplotlib`。 1. **Numpy**: Numpy 是 Python 的一个科学计算库,它提供了大量的数学函数和矩阵操作功能。在代码中,`numpy` 被导入并简写为 `np`。`np.array()` 用于将列表或其他序列转换成 Numpy 数组,这是 Numpy 数据处理的基础。在 `loadData` 函数中,`np.array(col0)` 将 Excel 文件中的某一列数据转换为 Numpy 数组。 2. **xlrd**: 这是一个用于读取 Excel 文件的 Python 库。`xlrd.open_workbook(filename)` 用于打开指定的 Excel 文件。`workbook.sheet_by_index(0)` 获取工作簿中的第一个工作表(默认情况下,Excel 文件的第一个工作表索引为 0)。 3. **Matplotlib**: Matplotlib 是 Python 中最常用的数据可视化库,它提供了丰富的图形绘制功能。`matplotlib.pyplot` 被导入并简写为 `plt`。`plt.plot()` 用于绘制二维线条图,`plt.show()` 显示图形。在 `plotData` 函数中,它被用来根据输入数据 `X` 和标签 `y` 来绘制数据点。 4. **数据处理**: - `workbook.sheet_by_index(0).ncols` 和 `.nrows`: 分别获取工作表的列数和行数。 - `workbook.sheet_by_index(0).col_values(0)[1:]`: 读取第一列的所有值,从第二行开始(通常第一行是表头)。 - `np.c_`: Numpy 的拼接操作,用于将多个数组沿列方向连接起来。 5. **数据筛选与分组**: - `np.where(y==1)` 和 `np.where(y==0)`: 根据条件 `y==1` 或 `y==0` 返回对应元素的索引,常用于数据分组。 6. **数据可视化**: - 在 `plotData` 函数中,`plt.plot(pos[0], pos[1], 'ro')` 用红色圆点表示标签为 1 的数据点,`plt.plot(neg[0], neg[1], 'go')` 用绿色圆点表示标签为 0 的数据点。这展示了如何通过 Matplotlib 根据数据标签的不同颜色区分数据。 7. **逻辑判断**: - `if col_num == 1:` 检查工作表的列数是否为1,如果是,则直接返回单一列的数据。 - `else:` 如果不是单列,遍历所有列并将它们添加到数据数组中。 通过这份作业,我们可以看到数据读取、处理和可视化的基础流程,这对于数据分析和机器学习项目是非常重要的。在实际应用中,这些技能可以用于从 Excel 文件加载数据,预处理数据,然后使用可视化工具来探索和理解数据的特征。