在 openEuler 上使用 Pandas 进行数据分析实战

引言

随着企业数据量的快速增长,数据分析已经成为业务决策的重要工具。openEuler 作为稳定的开源操作系统,不仅在企业环境中表现出色,还对各种开源软件库提供了良好支持。本文以 Python 数据分析库 Pandas 为例,展示如何在 openEuler 上完成从环境搭建、数据处理到可视化的完整数据分析流程。

接下来我来带大家在openEuler上使用Python的数据分析库 Pandas,来体验一下openEuler的强大吧。

一、环境搭建

在 openEuler 上进行数据分析,首先需要安装 Python 3 及数据分析所需库。openEuler 使用 dnf 包管理器,可轻松安装 Python 环境。

bash 复制代码
# 更新系统软件包
sudo dnf update -y

# 安装 Python3
sudo dnf install -y python3 python3-pip

# 安装数据分析库
pip3 install pandas matplotlib seaborn



安装完成后,我会第一时间验证安装是否成功,以确保环境完全可用。验证方法非常简单,我通过执行以下 Python 命令来检查 Pandas、Matplotlib 和 Seaborn 是否能够正常导入,并输出 Pandas 的版本号:

假如说这一步你都不去验证的话,那后面出现了问题我们也不知道是哪里出现了问题,所以说每一步我们都必须要验证清楚。

Bash 复制代码
python3 -c "import pandas as pd; import matplotlib.pyplot as plt; import seaborn as sns; print(pd.__version__)"

二、准备数据

为了演示完整的数据分析流程,我选择使用一个简单的销售数据 CSV 文件 sales.csv。这个文件记录了企业某段时间内的每日销售情况,包括三个字段:日期 (date)、产品名称 (product) 和销售额 (sales)。虽然数据量不大,但涵盖了典型的业务分析需求,例如按日期统计每日销售趋势、按产品汇总总销售额,以及分析不同产品的销售贡献比例。

Plain 复制代码
date,product,sales
2025-01-01,Keyboard,100
2025-01-01,Mouse,150
2025-01-02,Keyboard,120
2025-01-02,Mouse,130
2025-01-03,Keyboard,90
2025-01-03,Mouse,160

将 CSV 文件放在 /home/user/projects/data/ 目录下,后续 Python 程序即可读取。

三、数据分析流程

在我的数据分析实践中,我将整个流程分为四个核心环节:数据读取、数据清洗、数据处理和数据可视化。每一个环节都是保证分析结果准确和可用的重要步骤。在 openEuler 上,我使用 Pandas 完成了这一整套流程。

1. 读取数据

创建 analyze.py 文件,首先读取 CSV 数据:

python 复制代码
import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('/home/user/projects/data/sales.csv')

# 查看前几行
print(df.head())

输出示例:

Plain 复制代码
         date   product  sales
0  2025-01-01  Keyboard    100
1  2025-01-01     Mouse    150
2  2025-01-02  Keyboard    120
3  2025-01-02     Mouse    130
4  2025-01-03  Keyboard     90

这样,我们就将 CSV 数据加载到了 Pandas 的 DataFrame 中。

2. 数据清洗

在实际项目中,CSV 数据可能存在缺失值或格式错误。Pandas 提供了简单而高效的处理方法:

python 复制代码
# 检查缺失值
print(df.isnull().sum())

# 填充缺失值(示例:销售额缺失填充为0)
df['sales'] = df['sales'].fillna(0)

通过这一操作,可以保证后续统计和可视化不受数据缺失影响。

3. 数据处理与统计

3.1 按产品统计总销售额

python 复制代码
# 按产品分组统计销售总额
summary = df.groupby('product')['sales'].sum()
print(summary)

输出:

Plain 复制代码
product
Keyboard    310
Mouse       440
Name: sales, dtype: int64

3.2 每天各产品销售情况

python 复制代码
# 将数据透视为每天各产品销售额
daily_sales = df.pivot(index='date', columns='product', values='sales')
print(daily_sales)

输出:

Plain 复制代码
product     Keyboard  Mouse
date                        
2025-01-01       100    150
2025-01-02       120    130
2025-01-03        90    160

通过透视表,可以更直观地分析每日销售情况,为可视化做准备。

4. 可视化分析

可视化是数据分析的重要环节,Pandas 与 Matplotlib、Seaborn 配合可以轻松实现。

python 复制代码
import matplotlib.pyplot as plt
import seaborn as sns

# 设置 Seaborn 风格
sns.set(style="whitegrid")

# 4.1 绘制总销售额柱状图
plt.figure(figsize=(6,4))
summary.plot(kind='bar', color=['skyblue','salmon'])
plt.title('Total Sales by Product')
plt.xlabel('Product')
plt.ylabel('Sales')
plt.savefig('sales_summary.png')
plt.show()

# 4.2 绘制每日销售趋势折线图
plt.figure(figsize=(8,5))
daily_sales.plot(marker='o')
plt.title('Daily Sales Trend')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.xticks(rotation=45)
plt.grid(True)
plt.savefig('daily_sales_trend.png')
plt.show()

运行:

Bash 复制代码
python3 analyze.py

程序会生成两张图表:

1.sales_summary.png:显示每种产品总销售额;

2.daily_sales_trend.png:展示每日销售趋势。

在 openEuler 上使用 Pandas,我们可以进一步扩展数据分析功能:

•统计分析:计算平均值、最大值、最小值等指标。

•复杂数据处理:合并多个 CSV、处理时间序列数据。

•高级可视化:使用 Seaborn 绘制热力图、箱线图等。

•自动化分析:结合 Cron 定时任务,实现每天自动生成报告。

比如说:计算每日平均销售额并绘制折线图:

python 复制代码
daily_avg = df.groupby('date')['sales'].mean()
plt.figure(figsize=(8,5))
daily_avg.plot(marker='o', color='green')
plt.title('Daily Average Sales')
plt.xlabel('Date')
plt.ylabel('Average Sales')
plt.grid(True)
plt.savefig('daily_avg_sales.png')
plt.show()

四、总结

在这次实践中,我在 openEuler 上完整体验了从环境搭建到数据分析、再到可视化的整个流程。通过这次案例,我有几个深刻的感受:

1.环境搭建非常简便 。openEuler 提供了稳定的系统管理工具和包管理机制,使得 Python3 和常用数据分析库可以快速安装并使用,无需复杂配置。这让我能够迅速进入数据分析的实际工作,而不被环境问题拖延。

2.数据处理效率显著提升 。Pandas 提供了强大的数据读取、清洗和处理功能,让我能够轻松处理业务 CSV 数据、统计分析和生成汇总结果。即使面对多源数据或时间序列数据,也能快速完成统计和汇总,节省了大量手动处理的时间。

3.可视化直观清晰 。通过 Matplotlib 和 Seaborn,我能够将分析结果快速转化为易于理解的图表,让数据趋势和关键指标一目了然。这在业务汇报和决策分析中非常有帮助,提升了分析结果的可读性和价值。

4.开源生态的优势非常明显。在 openEuler 上,我能够自由使用 Pandas、Matplotlib、Seaborn 等开源库,结合自身业务需求灵活扩展分析能力。无论是处理大数据量、统计分析,还是生成专业图表,都能够得到充分支持。

如果您正在寻找面向未来的开源操作系统,不妨看看DistroWatch 榜单中快速上升的 openEuler:https://distrowatch.com/table-mobile.php?distribution=openeuler,一个由开放原子开源基金会孵化、支持"超节点"场景的Linux 发行版。

openEuler官网:https://www.openeuler.openatom.cn/zh/

相关推荐
计算机学姐3 小时前
基于Python的B站数据分析及可视化系统【2026最新】
开发语言·vue.js·python·信息可视化·数据挖掘·数据分析·推荐算法
洁洁!3 小时前
openEuler多样性算力支持实践:容器化多架构应用部署与调度
服务器·数据库·科技·语言模型·数据分析
Ada大侦探4 小时前
新手小白学习Power BI第二弹--------《电商销售数据分析与可视化项目》需求展示
数据库·学习·数据分析
老蒋新思维5 小时前
创客匠人启示录:AI 时代知识变现的效率革命 —— 从人力驱动到智能体自动化的跃迁
网络·人工智能·网络协议·tcp/ip·数据挖掘·创始人ip·创客匠人
Hcoco_me6 小时前
大模型面试题12:Torch的基本操作
pytorch·深度学习·pandas
科研面壁者6 小时前
SPSS——绘制“简单分布散点图”,“矩阵散点图”,“简单点图”,“重叠散点图”,“3D分布散点图”
3d·信息可视化·矩阵·数据分析·spss·科研绘图
初九之潜龙勿用6 小时前
基于openEuler操作系统上的AI图像分类应用开发实操与测试
人工智能·分类·数据挖掘
互联网全栈开发实战7 小时前
一款超优秀的数据可视化平台(大屏设计器【2025年 - 2026年】)-GoView(构建数字孪生可视化新世界)
信息可视化·数据分析·node.js·vue·数据可视化·大屏端
咚咚王7 小时前
人工智能之数据分析 Pandas:第八章 数据可视化
人工智能·数据分析·pandas