引言

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

一、环境搭建

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

# 更新系统软件包
sudo dnf update -y

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成后,我会第一时间验证安装是否成功,以确保环境完全可用。验证方法非常简单,我通过执行以下 Python 命令来检查 Pandas、Matplotlib 和 Seaborn 是否能够正常导入,并输出 Pandas 的版本号:
假如说这一步你都不去验证的话,那后面出现了问题我们也不知道是哪里出现了问题,所以说每一步我们都必须要验证清楚。

python3 -c "import pandas as pd; import matplotlib.pyplot as plt; import seaborn as sns; print(pd.__version__)"

在这里插入图片描述

二、准备数据

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

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 数据:

import pandas as pd

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

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

输出示例:

         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 提供了简单而高效的处理方法:

# 检查缺失值
print(df.isnull().sum())

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

通过这一操作,可以保证后续统计和可视化不受数据缺失影响。
在这里插入图片描述

3. 数据处理与统计

3.1 按产品统计总销售额

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

输出:

product
Keyboard    310
Mouse       440
Name: sales, dtype: int64

3.2 每天各产品销售情况

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

输出:

product     Keyboard  Mouse
date                        
2025-01-01       100    150
2025-01-02       120    130
2025-01-03        90    160

通过透视表,可以更直观地分析每日销售情况,为可视化做准备。
在这里插入图片描述

4. 可视化分析

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

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()

运行:

python3 analyze.py

程序会生成两张图表:
1.sales_summary.png:显示每种产品总销售额;
2.daily_sales_trend.png:展示每日销售趋势。
在这里插入图片描述

在 openEuler 上使用 Pandas,我们可以进一步扩展数据分析功能:
•统计分析:计算平均值、最大值、最小值等指标。
•复杂数据处理:合并多个 CSV、处理时间序列数据。
•高级可视化:使用 Seaborn 绘制热力图、箱线图等。
•自动化分析:结合 Cron 定时任务,实现每天自动生成报告。
比如说:计算每日平均销售额并绘制折线图:

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/

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐