Python和Pandas数据清洗与可视化

数据清洗是数据科学中非常重要的一步,它确保了分析的数据是准确和可靠的。在本系列文章中,将介绍如何使用PythonPandas库进行数据清洗,并探索数据可视化的不同选项。

Python数据可视化库比较

Python提供了多种数据可视化库,包括Matplotlib、Seaborn、ggplot和Plotly。每个库都有其特点和适用场景。

Matplotlib是最广泛使用的可视化库之一,功能强大但相对复杂。

Seaborn基于Matplotlib构建,简化了图表的创建过程,并提供了一些非常美观的默认样式。

Plotly擅长创建动态和交互式的可视化图表,类似于同名的在线平台。

ggplot是从R语言移植过来的绘图系统,非常适合创建分层图表。

Seaborn可视化类型

Seaborn支持多种图表类型,包括条形图、面积图、折线图、箱线图、散点图和核密度图等。每种图表类型都适用于展示不同类型的数据。

条形图是展示不同数据元素比较的最常用图表。例如,通过条形图可以很容易地看出最大值、最小值或多个值之间的差异。

折线图通常用于表示随时间变化的观察值,非常适合进行趋势分析。

箱线图可以展示包含五个数值的总结数据:最小值、第一四分位数、中位数、第二四分位数和最大值。

散点图通过点来表示值的分布,非常适合展示数据的分布情况。

核密度图用于可视化概率密度,非常适合展示数据的分布形状。

创建Seaborn条形图

将使用之前文章中创建的PandasDataFrame来展示一个简单的条形图。首先,需要设置Seaborn的样式:

import seaborn as sns sns.set(style="darkgrid")

接下来,创建一个条形图来展示每个州的总购买量:

import matplotlib.pyplot as plt plt.figure(figsize=(20, 10)) stateTotalsChart = sns.barplot(data=totalsData, x='state', y='amount') stateTotalsChart.set_xticklabels(stateTotalsChart.get_xticklabels(), rotation=45, horizontalalignment='right')

这段代码首先设置图表的大小,然后使用barplot函数创建条形图,并将州作为x轴,金额作为y轴。最后,旋转x轴标签以提高可读性。

创建Seaborn折线图

为了展示折线图,将创建一个新的DataFrame,按购买日期对数据进行分组。

purchasesByDay = combinedData.groupby(by='purch_date').sum().reset_index() purchasesByDay.drop(columns=['purchase_id', 'customer_id', 'product_id'], inplace=True) print(purchasesByDay.head(10))

这段代码创建了一个新的DataFrame,总结了每天销售的商品数量、支付金额和零售成本。

接下来,创建折线图:

plt.figure(figsize=(20, 10)) dailyTotalsChart = sns.lineplot(data=purchasesByDay, x='purch_date', y='amount')

这段代码首先设置图表的大小,然后创建折线图,显示随时间变化的购买总额。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485