Python数据清洗与分析:豆瓣评分分布
下载需积分: 9 | MD格式 | 75KB |
更新于2024-08-08
| 33 浏览量 | 举报
"Python编程相关的作业,涉及到数据分析和可视化,使用了numpy、pandas、matplotlib和bokeh等库。对'moviedata.xlsx'文件进行了数据清洗和初步分析,特别是针对'豆瓣评分'这一列,删除了评分小于等于0的记录,并展示了评分的统计信息。"
在这段代码中,我们可以提取出以下几个重要的Python知识点:
1. **数据处理库的导入**:首先,代码导入了`numpy`、`pandas`、`matplotlib.pyplot`和`bokeh`库。`numpy`用于处理数值计算,`pandas`是强大的数据处理框架,`matplotlib.pyplot`用于数据可视化,而`bokeh`则是一个交互式可视化的库。
2. **数据加载与路径设置**:通过`pd.read_excel()`函数读取了Excel文件中的数据,并使用`os.chdir()`设置了工作目录,使得程序能找到文件的位置。
3. **数据清洗**:代码中用到了条件筛选,`df[df['豆瓣评分']>0]`这行代码是筛选出'豆瓣评分'列中评分大于0的记录,以去除异常值或无效数据。
4. **数据统计分析**:`df['豆瓣评分'].describe()`提供了'豆瓣评分'列的统计摘要,包括计数、平均值、标准差、最小值、25%分位数、50%分位数(中位数)、75%分位数和最大值。
5. **Matplotlib绘图**:使用`plt.figure(figsize=(10,6))`创建了一个图形窗口,并调整了子图之间的空间,然后使用`plt.subplots_adjust(hspace=0.2)`来控制子图间距。`df['豆瓣评分'].describe()`的结果被用于生成一个直方图,但直方图在提供的内容中没有显示。
6. **Bokeh库的使用**:Bokeh库用于创建交互式图表。`output_notebook()`使得图表能在Jupyter notebook中显示,`figure`和`show`用于创建和展示图表,`ColumnDataSource`和`HoverTool`分别用于存储数据源和实现鼠标悬停时的详细信息显示。然而,在这段代码中,Bokeh图表的创建和显示似乎没有完成。
7. **数据筛选与处理**:最后的代码片段显示了筛选出“烂片”数据量的代码,但没有给出完整的数据处理逻辑,这部分可能是为了展示后续如何进一步分析低评分电影。
8. **数据帧操作**:`df['豆瓣评分']<5`这样的表达式可以用于创建一个布尔型的Series,表示'豆瓣评分'低于5的记录。如果与原始DataFrame相乘,将返回一个新的DataFrame,其中只有评分低于5的行。
这段代码涉及了Python数据分析的基本流程,包括数据加载、预处理、统计分析和可视化。如果要深入学习,可以研究如何使用这些库进行更复杂的数据探索,如数据过滤、分组、聚合以及创建更复杂的图表。同时,也可以了解Bokeh库如何创建动态、交互式的数据可视化。
相关推荐










m0_59416353
- 粉丝: 0
最新资源
- 深入解析ELF文件格式及其在操作系统中的应用
- C++ Primer 第四版习题解答(前五章)
- 数学建模必备:实用先进算法详解
- 500毫秒打字游戏实现与键盘事件处理
- 轨迹跟踪算法:无根求曲线绘制的高效方法
- UML指南:Java程序员的全面设计实践
- 探索WPF:新一代Web呈现技术
- 轻量级Java企业应用:POJO实战
- Linux指令详解:cat、cd和chmod
- 使用SWIG将C++绑定到Python的实战指南
- 掌握Linux shell编程:实战指南与变量操作
- Linux多用户创建与设备挂载指南
- Tapestry4入门与框架演变解析
- C#入门指南:从语言概述到实战编程
- MIME类型详解:从电子邮件到浏览器的多媒体数据处理
- Solaris10操作系统学习指南