• 【DW组队学习—动手学数据分析】第二章:第四节数据可视化


    **复习:**回顾学习完第一章,我们对泰坦尼克号数据有了基本的了解,也学到了一些基本的统计方法,第二章中我们学习了数据的清理和重构,使得数据更加的易于理解;今天我们要学习的是第二章第三节:数据可视化,主要给大家介绍一下Python数据可视化库Matplotlib,在本章学习中,你也许会觉得数据很有趣。在打比赛的过程中,数据可视化可以让我们更好的看到每一个关键步骤的结果如何,可以用来优化方案,是一个很有用的技巧。

    2 第二章:数据可视化

    开始之前,导入numpy、pandas以及matplotlib包和数据
    # 加载所需的库
    # 如果出现 ModuleNotFoundError: No module named 'xxxx'
    # 你只需要在终端/cmd下 pip install xxxx 即可
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    #加载result.csv这个数据
    result = pd.read_csv("result.csv")
    result.head()
    
    • 1
    • 2
    • 3
    Unnamed: 0 PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
    0 0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
    1 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
    2 2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
    3 3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
    4 4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S

    2.7 如何让人一眼看懂你的数据?

    《Python for Data Analysis》第九章

    2.7.1 任务一:跟着书本第九章,了解matplotlib,自己创建一个数据项,对其进行基本可视化

    【思考】最基本的可视化图案有哪些?分别适用于那些场景?(比如折线图适合可视化某个属性值随时间变化的走势)

    【总结】常见可视化图表 更多图表可参考:https://blog.csdn.net/weixin_41545602/article/details/111828028

    1. 柱状图
      适用场景:它的适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较。
      优势:柱状图利用柱子的高度,反映数据的差异。肉眼对高度差异很敏感,辨识效果非常好。
      劣势:柱状图的局限在于只适用中小规模的数据集。
    2. 折线图
      适用场景: 折线图适合二维的大数据集,尤其是那些趋势比单个数据点更重要的场合。它还适合多个二维数据集的比较。
      优势:容易反应出数据变化的趋势。
    3. 饼图
      适用场景:适用简单的占比图,在不要求数据精细的情况下可以适用。
      优势:可以直观观察到各部分占比情况。
      劣势:饼图是一种应该避免使用的图表,因为肉眼对面积大小不敏感
      【注】最好的做法是从12点方向开始,顺时针按份额大小排列。
    4. 漏斗图
      适用场景:漏斗图适用于业务流程比较规范、周期长、环节多的流程分析,通过漏斗各环节业务数据的比较,能够直观地发现和说明问题所在。
      优势:能够直观地发现和说明问题所在。在网站分析中,通常用于转化率比较,它不仅能展示用户从进入网站到实现购买的最终转化率,还可以展示每个步骤的转化率。
      劣势:单一漏斗图无法评价网站某个关键流程中各步骤转化率的好坏
    5. 地图
      适用场景:适用于有空间位置的数据集。
      优劣势:特殊状况下使用。
    6. 雷达图
      适用场景:雷达图适用于多维数据(四维以上),且每个维度必须可以排序。但是,它有一个局限,就是数据点最多6个,否则无法辨别,因此适用场合有限。
      劣势:需要注意的时候,用户不熟悉雷达图,解读有困难。使用时尽量加上说明,减轻解读负担。

    【注】可视化图表使用的注意事项

    1. 在折线图中使用虚线。虚线会让人分心,用实线搭配合适的颜色更容易区分。
    2. 数据被遮盖。确保数据不会因为设计而丢失或被覆盖。例如在面积图中使用透明效果来确保用户可以看到全部数据。
    3. 耗费用户更多的精力。通过辅助的图形元素来使数据更易于理解,比如在散点图中增加趋势线
    4. 柱状过宽或过窄。柱子的间隔最好调整为宽的1/2。
    5. 数据对比困难。选择合适的图表,让数据对比更明显直接。
    6. 错误呈现数据。
    7. 数据没有很好归类,没有重点区分。将同类数据归类,简化色彩,帮助用户更快理解数据。
    8. 误导用户的图表。要客观反映真实数据,纵坐标不能被截断,否则视觉感受和实际数据相差很大。

    【参考】https://nn.sumaart.com/share/119.html

    2.7.2 任务二:可视化展示泰坦尼克号数据集中男女中生存人数分布情况(用柱状图试试)。

    **matplotlib.pyplot.bar(x,height, width,*,align=‘center’,kwargs)

    参数:

    • x:包含所有柱子的下标的列表
    • height:包含所有柱子的高度值的列表
    • width:每个柱子的宽度。可以指定一个固定值,那么所有的柱子都是一样的宽。或者设置一个列表,这样可以分别对每个柱子设定不同的宽度。
    • align:柱子对齐方式,有两个可选值:center和edge。center表示每根柱子是根据下标来对齐, edge则表示每根柱子全部以下标为起点,然后显示到下标的右边。如果不指定该参数,默认值是center。

    其他可选参数:

    • color:每根柱子呈现的颜色。同样可指定一个颜色值,让所有柱子呈现同样颜色;或者指定带有不同颜色的列表,让不同柱子显示不同颜色。
    • edgecolor:每根柱子边框的颜色。同样可指定一个颜色值,让所有柱子边框呈现同样颜色;或者指定带有不同颜色的列表,让不同柱子的边框显示不同颜色。
    • linewidth:每根柱子的边框宽度。如果没有设置该参数,将使用默认宽度,默认是没有边框。
    • tick_label:每根柱子上
  • 相关阅读:
    Vue中使用andt组件a-table列表数据根据点击的表头进行升/降排序-案例
    浅议.NET遗留应用改造
    MATLAB中拟合线性方程(最小二乘法)
    HTML做一个简单漂亮的宠物网页(纯html代码)
    14.Pandas的concat合并
    WebSocket集群解决方案,不用MQ
    为什么要用std::function
    闲活一:一步登天
    Android 11 getPackageManager().getPackageInfo 返回null
    linux单机部署kafka
  • 原文地址:https://blog.csdn.net/sinat_33209811/article/details/126944531