当前位置: 首页 > ai >正文

数据分析与可视化

数据预处理​

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

  • 去重操作:使用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元以上'])。​
  • 图表显示问题:当饼图中品牌数量较多时,可能出现标签重叠,可考虑只显示占比较大的品牌,将小品牌合并为 “其他” 类别。
http://www.xdnf.cn/news/17622.html

相关文章:

  • Java的异常机制
  • Supabase快速入门与实战指南
  • Effective C++ 条款37:绝不重新定义继承而来的缺省参数值
  • 存储过程作为系统逻辑核心的架构思考 —— 以 SaaS 系统为例
  • 计算机视觉(8)-纯视觉方案实现端到端轨迹规划(模型训练+代码)
  • 数据库规范化:消除冗余与异常的核心法则
  • 经济基础知识第一节:物质资料生产和基本经济规律(一)
  • SQL 与 NoSQL 的核心区别
  • 为什么灰度图用G(绿色)通道?
  • Docker 101:面向初学者的综合教程
  • 【报错处理】mount: /boot/efi: unknown filesystem type ‘LVM2_member‘.
  • 记录一次react渲染优化
  • 实现文字在块元素中水平/垂直居中详解
  • 教程 | 用Parasoft SOAtest实现高效CI回归测试
  • AWS EKS 常用命令大全:从基础管理到高级运维
  • [激光原理与应用-257]:理论 - 几何光学 - 光束整形
  • Springboot注册过滤器的三种方式(Order 排序)
  • Spring Cloud系列—Config配置中心
  • 【Oracle APEX开发小技巧16】交互式网格操作内容根据是否启用进行隐藏/展示
  • VS4210芯片技术资料(IT6604+VS4210+MDIN380连接原理图)
  • 基于STC8单片机的RTC时钟实现:从原理到实践
  • 如何使股指期货套期保值效果更加精准?
  • Ansible部署应用
  • AR巡检:三大核心技术保障数据准确性
  • 聚合搜索中的设计模式
  • 【Unity】Unity中ContentSizeFitter有时无法及时自适应大小问题解决
  • Baumer高防护相机如何通过YoloV8深度学习模型实现木板表面缺陷的检测识别(C#代码UI界面版)
  • python --- 基础语法(1)
  • Web 开发 14
  • [SC]如何使用sc_semaphore实现对共享资源的访问控制