CodeGym /Java 课程 /Python SELF ZH /使用 pandas 方法制作报告数据

使用 pandas 方法制作报告数据

Python SELF ZH
第 28 级 , 课程 3
可用

1. 为报告结构化数据

当你制作报告时,不仅仅是把一堆数据包装得漂亮,而是要让信息清晰易懂。数据准备直接影响到你的报告是否能被快速理解。

数据透视表:我们的万能瑞士军刀

数据透视表是一个强大的工具,用于汇总、聚合和展示数据,它常用于 Excel 的分析。在 pandas 中,我们可以通过 pivot_table 方法轻松创建数据透视表。 来看一个简单的例子。

假设你有如下商店销售数据:

Python

import pandas as pd

data = {
    '产品': ['橙子', '苹果', '香蕉', '橙子', '香蕉', '苹果'],
    '月份': ['一月', '一月', '一月', '二月', '二月', '二月'],
    '销售额': [150, 200, 250, 130, 180, 210]
}

df = pd.DataFrame(data)

要创建一个数据透视表,显示每种产品每个月的销售额总和,可以使用 pivot_table 方法。

Python

pivot_df = df.pivot_table(values='销售额', index='产品', columns='月份', aggfunc='sum')
print(pivot_df)

这个简单的例子展示了如何快速根据类别和日期聚合数据——这是报告的理想基础。

2. 使用 pandas 方法准备数据

pivot_table 方法

pivot_table 方法非常灵活,不仅可以对数据求和,还可以使用其他聚合函数,比如 mean, count 等。 来看一下如何反转数据以显示销售额的平均值:

Python

pivot_mean_df = df.pivot_table(values='销售额', index='产品', columns='月份', aggfunc='mean')
print(pivot_mean_df)

crosstab 方法

pandas 的 crosstab 方法类似于数据透视表,但它用于频率计算。假设我们想计算每个产品在不同月份的销售次数:

Python

cross_df = pd.crosstab(df['产品'], df['月份'])
print(cross_df)

这种方法在研究类别数据分布或分析事件频率时非常有用。

3. 使用多级索引调整数据展示

多级索引

是的,pandas 允许你打破二维数据的限制,使用多级索引。这对于表示多层级的聚合数据非常有用。例如,我们向数据集中添加 "年份",并创建多级索引。

Python

data['年份'] = [2023, 2023, 2023, 2024, 2024, 2024]
df = pd.DataFrame(data)

multi_pivot_df = df.pivot_table(values='销售额', index=['年份', '产品'], columns='月份', aggfunc='sum')
print(multi_pivot_df)

现在我们的数据按年份和产品聚合,使其更具信息性。

4. 实践与分析

让我们运用所学内容进行实践。任务:准备销售报告数据。

假设你有以下销售数据:

Python

data = {
    '产品': ['橙子', '橙子', '苹果', '苹果', '香蕉', '香蕉'],
    '月份': ['一月', '二月', '一月', '二月', '一月', '二月'],
    '年份': [2023, 2023, 2024, 2024, 2023, 2024],
    '销售额': [150, 200, 180, 220, 120, 130]
}

df = pd.DataFrame(data)

你的任务是创建一个数据透视表,显示每种产品每个月的销售额总和,包括按年份的总数据。

Python

pivot_total_df = df.pivot_table(values='销售额', index=['年份', '产品'], columns='月份', aggfunc='sum', margins=True, margins_name='总计')
print(pivot_total_df)

这一行“总计”将显示所有类别的总和,这在需要全面查看时非常有用。

5. 关于数据展示和分析策略的讨论

使用 pandas 准备报告数据不仅仅是数学,更是一门艺术。这个过程中重要的一部分是选择最具信息量的方式来展示数据,无论是简单的汇总表还是复杂的图表。 在现实生活中,这种结构化方法不仅有助于理解当前指标,还可以支持决策。你可能会发现自己像个魔法师,把无聊的数字行变成清晰的图景。

如果你想成为自动化报告准备的高手,请不要忘记 pandas 的强大功能,也不要害怕尝试各种方法和技巧。这项技能不仅对生成分析摘要有帮助,还会在面试和未来职业中派上用场。 勇敢地进入数据的世界,让你的报告既丰富多彩又信息量满满且易于理解!

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION