Pandas 多元化图形解析:图像背后的故事
2024-02-21 23:18:14
4.3 Pandas 内置可视化方法 Pandas 本身也提供几个简单的数据可视化图形,可以完成简单的变化-折线图、等级-柱状图、分布-直方图、箱型图、相互关系-散点图、分群-安德鲁斯曲线等。 变化-
1. 折线图:趋势洞察
折线图以清晰的线条勾勒出数据的变化趋势,适用于连续型数据。无论您是追踪经济走势、股票涨跌,还是测量科学实验中的变量变化,折线图都能让您轻松捕捉趋势,洞悉规律。
import pandas as pd
import matplotlib.pyplot as plt
# 数据准备
df = pd.DataFrame({'年份': [2015, 2016, 2017, 2018, 2019, 2020],
'销售额': [100, 120, 150, 180, 200, 220]})
# 绘制折线图
df.plot(x='年份', y='销售额', kind='line')
plt.title('销售额趋势图')
plt.xlabel('年份')
plt.ylabel('销售额')
plt.show()
2. 柱状图:差异对比
柱状图以直观的方式比较不同类别的数据,适用于分类型数据。它能帮助您了解各类别之间的差异,识别最高值和最低值。无论是市场份额比较、产品销量对比,还是消费者偏好分析,柱状图都能让您清晰呈现数据之间的差异。
# 数据准备
df = pd.DataFrame({'产品': ['手机', '电脑', '平板'],
'销量': [100, 200, 300]})
# 绘制柱状图
df.plot(x='产品', y='销量', kind='bar')
plt.title('产品销量对比图')
plt.xlabel('产品')
plt.ylabel('销量')
plt.show()
3. 直方图:分布探索
直方图以矩形的形式展示数据的分布情况,适用于连续型数据。它能帮助您了解数据的集中程度、离散程度,以及是否存在异常值。无论是金融数据的分布分析、学生成绩的分布统计,还是科学实验中数据的分布研究,直方图都能让您深入探索数据的分布特征。
# 数据准备
df = pd.DataFrame({'年龄': [20, 25, 30, 35, 40, 45]})
# 绘制直方图
df['年龄'].hist(bins=5)
plt.title('年龄分布直方图')
plt.xlabel('年龄')
plt.ylabel('人数')
plt.show()
4. 箱型图:异常探查
箱型图以直观的方式展示数据的分布情况,并突出显示异常值。它能帮助您识别数据中的异常点,并了解数据的集中趋势和离散程度。无论是数据质量检查、异常值检测,还是统计分析中的异常值识别,箱型图都能让您快速发现异常值,并采取相应措施。
# 数据准备
df = pd.DataFrame({'数据': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]})
# 绘制箱型图
df.boxplot()
plt.title('数据分布箱型图')
plt.xlabel('数据')
plt.ylabel('值')
plt.show()
5. 散点图:相关性揭示
散点图以点的形式展示两个变量之间的关系,适用于连续型数据。它能帮助您了解两个变量之间的相关性、相关程度,以及是否存在线性关系。无论是市场营销中的相关性分析、科学实验中的数据相关性研究,还是金融数据中的相关性分析,散点图都能让您直观呈现变量之间的关系。
# 数据准备
df = pd.DataFrame({'x': [10, 20, 30, 40, 50],
'y': [20, 40, 60, 80, 100]})
# 绘制散点图
plt.scatter(df['x'], df['y'])
plt.title('x与y的关系散点图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
6. 安德鲁斯曲线:分群呈现
安德鲁斯曲线以独特的图形展示多维数据的分群情况,适用于分类型数据。它能帮助您识别数据中的群集,并了解群集之间的关系。无论是市场营销中的客户分群、生物学中的物种分群,还是社会学中的群体分群,安德鲁斯曲线都能让您直观呈现数据的分群情况。
# 数据准备
df = pd.DataFrame({'性别': ['男', '女'],
'年龄': [20, 25, 30, 35, 40],
'收入': [10000, 15000, 20000, 25000, 30000]})
# 绘制安德鲁斯曲线
import seaborn as sns
sns.andrews_curves(data=df, x='性别', y='年龄', color='收入', marker='o')
plt.title('安德鲁斯曲线分群图')
plt.show()
在数据的世界中,图像胜过千言万语。善用 Pandas 内置的可视化图形,您将赋予数据新的生命,让数据在图像的呈现中焕发生机,让数据背后的故事跃然眼前。