Python数据清洗与分析:豆瓣评分分布

需积分: 9 0 下载量 4 浏览量 更新于2024-08-08 收藏 75KB MD 举报
"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库如何创建动态、交互式的数据可视化。