Python数据读取与可视化:使用xlrd和matplotlib处理Excel文件
需积分: 0 106 浏览量
更新于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 文件加载数据,预处理数据,然后使用可视化工具来探索和理解数据的特征。
197 浏览量
2022-08-08 上传
2022-08-08 上传
2008-12-13 上传
2009-09-29 上传
2009-10-31 上传
2022-05-19 上传

BellWang
- 粉丝: 27
- 资源: 315
最新资源
- Material Design 示例:展示Android材料设计的应用
- 农产品供销服务系统设计与实现
- Java实现两个数字相加的基本代码示例
- Delphi代码生成器:模板引擎与数据库实体类
- 三菱PLC控制四台电机启动程序解析
- SSM+Vue智能停车场管理系统的实现与源码分析
- Java帮助系统代码实现与解析
- 开发台:自由职业者专用的MEAN堆栈客户端管理工具
- SSM+Vue房屋租赁系统开发实战(含源码与教程)
- Java实现最大公约数与最小公倍数算法
- 构建模块化AngularJS应用的四边形工具
- SSM+Vue抗疫医疗销售平台源码教程
- 掌握Spring Expression Language及其应用
- 20页可爱卡通手绘儿童旅游相册PPT模板
- JavaWebWidget框架:简化Web应用开发
- 深入探讨Spring Boot框架与其他组件的集成应用