在 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/

相关推荐
云天徽上1 天前
【机器学习】Kaggle案例之Rossmann连锁药店销售额预测:时间序列与机器学习完美融合的实战指南
机器学习·数据挖掘·kaggle
Brduino脑机接口技术答疑1 天前
TDCA 算法在 SSVEP 场景中的 Padding 技术:原理、应用与工程实现
人工智能·算法·机器学习·数据分析·脑机接口
A3608_(韦煜粮)1 天前
从数据沼泽到智慧引擎:现代大数据分析与应用架构全景解密
大数据·数据分析·数据治理·实时计算·数据架构·数据网格·数据湖仓
Ethan Hunt丶1 天前
运动想象脑电的基本原理与分类方法
人工智能·分类·数据挖掘·脑机接口
Yuer20251 天前
为什么要用rust做算子执行引擎
人工智能·算法·数据挖掘·rust
山海青风1 天前
人工智能基础与应用 - 数据处理、建模与预测流程 8 基础模型之分类模型
人工智能·分类·数据挖掘
心无旁骛~1 天前
华为 ModelEngine Nexent低代码平台单智能体评测:数据分析智能体 —— 零代码实现数据洞察与可视化闭环
低代码·数据挖掘·数据分析
yousuotu1 天前
基于Python的亚马逊销售数据集探索性数据分析
开发语言·python·数据分析
算法与编程之美1 天前
探索不同的损失函数对分类精度的影响
人工智能·算法·机器学习·分类·数据挖掘
AI浩1 天前
RDD4D:基于4D注意力引导的道路损伤检测与分类
人工智能·分类·数据挖掘