Pandas可视化
目录一.单变量可视化1.柱状图2.折线图3.面积图4.直方图5.饼状图二.双变量可视化1.散点图2.蜂窝图3.堆叠图4.折线图pandas提供了非常方便的绘图功能可以直接在DataFrame或Series上调用plot()方法来生成各种类型的图表。底层实现依赖于Matplotlibpandas的绘图功能集成了许多常见的图形类型易于使用。一.单变量可视化使用sleep睡眠健康和生活方式数据集其中包含13个字段person_id每个人的唯一标识符。gender个人的性别男/女。age个人的年龄以岁为单位。occupation个人的职业或就业状况例如办公室职员、体力劳动者、学生。sleep_duration每天的睡眠总小时数。sleep_quality睡眠质量的主观评分范围从 1差到 10极好。physical_activity_level每天花费在体力活动上的时间以分钟为单位。stress_level压力水平的主观评级范围从 1低到 10高。bmi_category个人的 BMI 分类体重过轻、正常、超重、肥胖。blood_pressure血压测量显示为收缩压与舒张压的数值。heart_rate静息心率以每分钟心跳次数为单位。daily_steps个人每天行走的步数。sleep_disorder存在睡眠障碍无、失眠、睡眠呼吸暂停。加载数据import pandas as pd df pd.read_csv(data/sleep.csv) df.info() # 查看数据集信息运行结果1.柱状图柱状图用于展示类别数据的分布情况。它通过一系列矩形的高度或长度来展示数据值适合对比不同类别之间的数量或频率。简单直观容易理解和比较各类别数据。使用柱状图展示不同睡眠时长的数量。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) pd.cut(df[sleep_duration], [0, 5, 6, 7, 8, 9, 10, 11, 12]).value_counts().plot.bar(color[red, green, blue, yellow, cyan, magenta, black, purple]) plt.show()运行结果2.折线图折线图通常用于展示连续数据的变化趋势。它通过一系列数据点连接成的线段来表示数据的变化。能够清晰地展示数据的趋势和波动。使用折线图展示不同睡眠时长的数量。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) pd.cut(df[sleep_duration], [0, 5, 6, 7, 8, 9, 10, 11, 12]).value_counts().sort_index().plot() plt.show()运行结果3.面积图面积图是折线图的一种变体线下的区域被填充颜色用于强调数据的总量或变化。可以更直观地展示数据量的变化适合用来展示多个分类的累计趋势。使用面积图展示不同睡眠时长的数量。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) pd.cut(df[sleep_duration], [0, 5, 6, 7, 8, 9, 10, 11, 12]).value_counts().sort_index().plot.area() plt.show()运行结果4.直方图直方图用于展示数据的分布情况。它将数据范围分成多个区间并通过矩形的高度显示每个区间内数据的频率或数量。可以揭示数据分布的模式如偏态、峰度等。使用直方图展示不同睡眠时长的数量。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) df[sleep_duration].value_counts().plot.hist() plt.show()运行结果5.饼状图饼状图用于展示一个整体中各个部分所占的比例。它通过一个圆形图形分割成不同的扇形每个扇形的角度与各部分的比例成正比。能够快速展示各部分之间的比例关系但不适合用于展示过多的类别或比较数值差异较小的部分。使用饼状图展示不同睡眠时长的占比。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) pd.cut(df[sleep_duration], [0, 5, 6, 7, 8, 9, 10, 11, 12]).value_counts().sort_index().plot.pie() plt.show()运行结果二.双变量可视化1.散点图散点图通过在二维坐标系中绘制数据点来展示两组数值数据之间的关系。能够揭示两个变量之间的相关性和趋势。绘制睡眠时间与睡眠质量的散点图。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) df.plot.scatter(xsleep_duration, ysleep_quality) plt.show()运行结果2.蜂窝图蜂窝图是散点图的扩展通常用于表示大量数据点之间的关系。它通过将数据点分布在一个六边形网格中每个六边形的颜色代表其中的数据密度。适合展示大量数据点避免了散点图中的过度重叠问题。绘制睡眠时间与睡眠质量的蜂窝图。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) df.plot.hexbin(xsleep_duration, ysleep_quality, gridsize10) plt.show()运行结果3.堆叠图堆叠图用于展示多个数据系列的累积变化。常见的堆叠图包括堆叠柱状图、堆叠面积图等。它通过将每个数据系列堆叠在前一个系列之上展示数据的累积情况。能够清晰地展示不同部分的相对贡献适合多个数据系列的比较。绘制睡眠时间与睡眠质量的堆叠图。import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) df[sleep_quality_stage] pd.cut(df[sleep_quality], range(11)) df[sleep_duration_stage] pd.cut(df[sleep_duration], [0, 5, 6, 7, 8, 9, 10, 11, 12]) df_pivot_table df.pivot_table(valuesperson_id, indexsleep_quality_stage, columnssleep_duration_stage, aggfunccount) df_pivot_table.plot.bar() plt.show()运行结果设置stackedTrue会将柱体堆叠。df_pivot_table.plot.bar(stackedTrue)运行结果4.折线图import pandas as pd import matplotlib.pyplot as plt df pd.read_csv(data/sleep.csv) df[sleep_quality_stage] pd.cut(df[sleep_quality], range(11)) df[sleep_duration_stage] pd.cut(df[sleep_duration], [0, 5, 6, 7, 8, 9, 10, 11, 12]) df_pivot_table df.pivot_table(valuesperson_id, indexsleep_quality_stage, columnssleep_duration_stage, aggfunccount) df_pivot_table.plot.line() plt.show()运行结果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2566558.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!