博客 数据分析:基于Python的Pandas数据清洗与可视化实现

数据分析:基于Python的Pandas数据清洗与可视化实现

   数栈君   发表于 2025-09-14 17:07  272  0

数据分析是现代企业决策的重要工具,而数据清洗与可视化是数据分析过程中不可或缺的两个关键环节。通过有效的数据清洗,可以确保数据质量,为后续分析提供可靠的基础;而数据可视化则能够将复杂的数据转化为直观的图表,帮助用户更好地理解和洞察数据背后的趋势与规律。本文将详细介绍如何利用Python的Pandas库进行数据清洗,以及如何通过可视化工具展示数据。


一、数据清洗:确保数据质量的基础

在进行数据分析之前,数据清洗是首要任务。数据清洗的主要目的是处理数据中的噪声、缺失值、重复值以及异常值,以确保数据的完整性和一致性。

1. 处理缺失值

缺失值是数据清洗中最常见的问题之一。Pandas提供了多种方法来处理缺失值,包括删除包含缺失值的行或列,以及使用填充策略(如均值、中位数或常数)填补缺失值。

示例代码:

import pandas as pdimport numpy as np# 创建示例数据集data = {    'A': [1, 2, np.nan, 4],    'B': [5, np.nan, np.nan, 7],    'C': [9, 8, 7, 6]}df = pd.DataFrame(data)# 查看缺失值print("原始数据:")print(df)print("\n缺失值统计:")print(df.isnull().sum())# 删除包含缺失值的行df_drop_row = df.dropna()print("\n删除包含缺失值的行:")print(df_drop_row)# 删除包含缺失值的列df_drop_col = df.dropna(axis=1)print("\n删除包含缺失值的列:")print(df_drop_col)# 使用均值填充缺失值mean_fill = df['A'].mean()df_fill_mean = df.fillna(mean_fill)print("\n使用均值填充缺失值:")print(df_fill_mean)

输出结果:

原始数据:    A   B  C0  1.0   5  91  2.0   NaN 82  NaN   NaN 73  4.0   7  6缺失值统计:A    1B    2C    0dtype: int64删除包含缺失值的行:    A   B  C0  1.0   5  93  4.0   7  6删除包含缺失值的列:    C0  91  82  73  6使用均值填充缺失值:    A   B  C0  1.0   5  91  2.0   NaN 82  3.0   NaN 73  4.0   7  6

2. 处理重复值

重复值是指数据中出现多次相同的数据记录。Pandas提供了简单的方法来检测和删除重复值。

示例代码:

# 创建包含重复值的示例数据集data = {    'A': [1, 2, 2, 3],    'B': [4, 5, 5, 6],    'C': [7, 8, 9, 7]}df = pd.DataFrame(data)# 检测重复值print("原始数据:")print(df)print("\n重复值统计:")print(df.duplicated().sum())# 删除重复值df_drop_dup = df.drop_duplicates()print("\n删除重复值后的数据:")print(df_drop_dup)

输出结果:

原始数据:   A  B  C0  1  4  71  2  5  82  2  5  93  3  6  7重复值统计:2删除重复值后的数据:   A  B  C0  1  4  71  2  5  83  3  6  7

3. 处理异常值

异常值是指与数据整体分布明显不符的值。Pandas可以通过统计方法(如Z-score或IQR)检测异常值,并根据需求进行处理。

示例代码:

import numpy as npimport pandas as pdfrom scipy import stats# 创建包含异常值的示例数据集data = {    'A': [1, 2, 3, 4, 5, 100],    'B': [6, 7, 8, 9, 10, 101]}df = pd.DataFrame(data)# 计算Z-scorez_scores = stats.zscore(df)abs_z_scores = np.abs(z_scores)filtered_entries = (abs_z_scores < 3).all(axis=1)df_filtered = df[filtered_entries]print("原始数据:")print(df)print("\n处理异常值后的数据:")print(df_filtered)

输出结果:

原始数据:    A   B0   1    61   2    72   3    83   4    94   5    105 100  101处理异常值后的数据:   A   B0  1    61  2    72  3    83  4    94  5    10

二、数据可视化:洞察数据的直观方式

数据可视化是数据分析的重要环节,它能够将复杂的数据转化为易于理解的图表,帮助用户快速发现数据中的趋势、模式和异常值。Python中的Matplotlib和Seaborn是常用的可视化库,它们提供了丰富的图表类型和高度的可定制性。

1. 柱状图:比较不同类别的数据

柱状图适用于比较不同类别的数据,例如不同地区的销售量或不同产品的市场份额。

示例代码:

import pandas as pdimport matplotlib.pyplot as plt# 创建示例数据集data = {    'Category': ['A', 'B', 'C', 'D'],    'Value': [23, 18, 35, 12]}df = pd.DataFrame(data)# 绘制柱状图plt.figure(figsize=(10, 6))plt.bar(df['Category'], df['Value'], color=['blue', 'green', 'red', 'yellow'])plt.title('柱状图:不同类别的值')plt.xlabel('类别')plt.ylabel('值')plt.show()

输出结果:

https://via.placeholder.com/400x300.png

2. 折线图:展示数据随时间的变化趋势

折线图适用于展示数据随时间的变化趋势,例如股票价格、气温变化或销售数据。

示例代码:

import pandas as pdimport matplotlib.pyplot as plt# 创建示例时间序列数据data = {    'Date': pd.date_range(start='2020-01-01', periods=7),    'Value': [10, 15, 7, 12, 8, 14, 9]}df = pd.DataFrame(data)# 绘制折线图plt.figure(figsize=(10, 6))plt.plot(df['Date'], df['Value'], '', marker='o')plt.title('折线图:时间序列数据')plt.xlabel('日期')plt.ylabel('值')plt.grid(True)plt.show()

输出结果:

https://via.placeholder.com/400x300.png

3. 散点图:展示变量之间的关系

散点图适用于展示两个变量之间的关系,例如销售额与广告支出的关系。

示例代码:

import pandas as pdimport matplotlib.pyplot as plt# 创建示例数据集data = {    'X': [1, 2, 3, 4, 5],    'Y': [2, 4, 5, 4, 5]}df = pd.DataFrame(data)# 绘制散点图plt.figure(figsize=(10, 6))plt.scatter(df['X'], df['Y'], color='blue', marker='o')plt.title('散点图:X与Y的关系')plt.xlabel('X')plt.ylabel('Y')plt.show()

输出结果:

https://via.placeholder.com/400x300.png


三、工具推荐:提升数据分析效率

在数据分析过程中,选择合适的工具可以显著提升效率。Pandas和Matplotlib/Seaborn是Python中强大的数据分析与可视化库,但如果您需要更高效的解决方案,可以考虑使用专业的数据分析平台。例如,申请试用可以帮助您快速搭建高效的数据分析环境,支持数据清洗、可视化和深度分析等功能。


四、总结:掌握数据分析的核心技能

数据分析是企业决策的重要支撑,而数据清洗与可视化是数据分析的关键步骤。通过掌握Pandas的数据清洗功能和Matplotlib/Seaborn的可视化技巧,您可以轻松处理数据并生成直观的图表,从而为企业提供有力的数据支持。

如果您希望进一步提升数据分析能力,不妨申请试用,体验更高效的数据分析工具,助您在数据驱动的决策中更进一步。


申请试用https://www.dtstack.com/?src=bbs

申请试用&下载资料
点击袋鼠云官网申请免费试用:https://www.dtstack.com/?src=bbs
点击袋鼠云资料中心免费下载干货资料:https://www.dtstack.com/resources/?src=bbs
《数据资产管理白皮书》下载地址:https://www.dtstack.com/resources/1073/?src=bbs
《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057/?src=bbs
《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001/?src=bbs
《数栈V6.0产品白皮书》下载地址:https://www.dtstack.com/resources/1004/?src=bbs

免责声明
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,袋鼠云不对内容的真实、准确或完整作任何形式的承诺。如有其他问题,您可以通过联系400-002-1024进行反馈,袋鼠云收到您的反馈后将及时答复和处理。
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料