数据分析与可视化

数据预处理​

数据预处理是数据分析的基础,直接影响后续分析结果的准确性。​

  • 去重操作:使用drop_duplicates(inplace = False)可以去除数据中的重复记录,再通过reset_index(inplace = True,drop = True)重置索引,保证数据的唯一性和整洁性。
  • 缺失值处理:通过data.loc[data['sale_count'].isnull()]可定位某列的缺失值记录,若要查看最后一行缺失值记录,可使用tail(1)方法,即data.loc[data['sale_count'].isnull()].tail(1)。

数据分组与筛选​

合理的分组与筛选能帮助聚焦关键数据。​

  • 按条件筛选:可根据不同条件筛选出所需数据子集,如按照平均单价区间筛选品牌,A=avg_price[(avg_price <= 100) & (avg_price > 0) ].index就筛选出了平均单价在 0-100 元区间的品牌索引。
  • 分组聚合:使用groupby进行分组后,结合聚合函数可实现数据汇总,例如sum_sale=data.groupby('店名')['销售额'].sum()计算了各品牌的总销售额。

数据可视化​

可视化能直观呈现数据特征和规律,常用的图表及相关操作如下:​

  • 饼图:适合展示各部分占总体的比例关系。在绘制不同价格区间品牌销售额占比饼图时,需将各区间数据连接起来,由于新版本 pandas 中Series.append()方法已移除,需用pd.concat()替代,如sum_sale_byprice = pd.concat([sum_sale[A].sort_values(), sum_sale[B].sort_values(), sum_sale[C].sort_values(), sum_sale[D].sort_values()])。同时,可通过设置labels、colors、autopct等参数美化图表。
  • 条形图:适用于比较不同类别数据的大小。绘制不同价格区间平均店铺销售额条形图时,使用plt.bar()函数,通过设置x轴标签、标题、颜色等参数,使图表更清晰易懂,如plt.bar('均价0-100元',np.mean(sum_sale[A]),color = 'grey')。
  • 子图绘制:使用plt.subplot()可在同一画布上绘制多个子图,便于对比分析,如plt.subplot(1,2,1)和plt.subplot(1,2,2)分别绘制左右两个子图。
  • 图表优化:可通过plt.figure(figsize = (16,8))设置画布大小,plt.tick_params(labelsize=10)调整刻度标签大小,plt.tight_layout()自动调整子图布局,plt.title()和plt.ylabel()添加标题和坐标轴标签等,提升图表的可读性。

常见问题及解决方法​

  • 方法过时问题:如遇到 "'Series' object has no attribute 'append'" 错误,是因为新版本 pandas 移除了append()方法,改用pd.concat()来连接多个 Series。
  • 区间定义优化:对于价格区间的定义,可使用pd.cut()函数使代码更简洁,如price_categories = pd.cut(avg_price, bins=[0, 100, 200, 300, float('inf')], labels=['0-100元', '100-200元', '200-300元', '300元以上'])。
  • 图表显示问题:当饼图中品牌数量较多时,可能出现标签重叠,可考虑只显示占比较大的品牌,将小品牌合并为 "其他" 类别。
相关推荐
applepie_max6 小时前
GraphRAG本地部署 v2.7.0
python·rag·graphrag
sulikey6 小时前
从零配置一个规范的 Python Git 仓库(适用于 Gitee / GitHub)
git·python·pycharm·gitee·github
shaominjin1236 小时前
android在sd卡中可以mkdir, 但是不可以createNewFile
android·开发语言·python
我是华为OD~HR~栗栗呀6 小时前
华为od-22届考研-测试面经
java·c++·python·功能测试·华为od·华为·面试
学习路上_write7 小时前
神经网络初次学习收获
人工智能·python
大邳草民7 小时前
Django 的动态特性:从 Python 动态机制到框架设计思想
笔记·python·django
用户3721574261358 小时前
Python 裁剪 PDF 教程:轻松裁剪页面并导出为图片
python
mit6.8248 小时前
[Agent可视化] docs | go/rust/py混构 | Temporal编排 | WASI沙箱
python
蜉蝣之翼❉8 小时前
检测十字标 opencv python
python·opencv·计算机视觉
刘安然8 小时前
网易云课堂零基础:21天搞定Python分布爬虫
python