Pandas Bootcamp
首页特训项目关于开始学习
01
电商销售数据质检审计
入门
02
基于购物车的复购行为与商品关联预测
入门
03
RFM 模型与用户价值聚类分层
进阶
04
AIGC 训练语料库去偏与去噪
进阶
05
游戏玩家行为序列与留存漏斗分析
进阶
06
金融信贷反欺诈特征工程
高级
07
IoT 传感器时序数据异常检测
高级
08
多源数据融合与主数据治理
进阶
09
AI 数据质量监控与血缘追踪
高级
10
AI 辅助数据自动化分析与故事化报告
高级
返回首页
PROJECT 10高级

AI 辅助数据自动化分析与故事化报告

Automated Data Storytelling

使用 pivot_table 构建自动化分析摘要,将数据转化为可读的故事化报告。

pivot_table自动化摘要数据故事化模板引擎关键洞察提取

项目背景

某零售企业每周需要向管理层提交经营分析报告。传统手动制作 PPT 耗时耗力且容易出错。希望通过 Pandas 自动生成分析摘要,结合数据故事化模板,快速生成可读性强的分析报告。

模拟数据集

date,store,category,product,revenue,units,returns,customer_satisfaction
2024-07-01,北京旗舰店,电子产品,iPhone 15,299900,100,3,4.5
2024-07-01,北京旗舰店,电子产品,AirPods,59900,50,2,4.3
2024-07-01,北京旗舰店,配件,手机壳,15000,500,10,3.8
2024-07-01,上海旗舰店,电子产品,iPhone 15,359880,120,5,4.6
2024-07-01,上海旗舰店,电子产品,MacBook,899000,100,1,4.8
2024-07-02,北京旗舰店,电子产品,iPhone 15,329890,110,2,4.7
2024-07-02,上海旗舰店,配件,充电宝,8000,400,5,3.5
2024-07-02,广州旗舰店,电子产品,iPhone 15,269910,90,4,4.2

代码练习区

在下方编辑器中编写你的 Pandas 代码。可记录笔记、编写伪代码,参考答案在下方。

pandas_exercise.py
Loading...

参考答案

reference_solution.py
import pandas as pd
import numpy as np

df = pd.read_csv('retail_data.csv')
df['date'] = pd.to_datetime(df['date'])

# 1. 多维透视表
# 按门店 x 品类的收入透视
store_category = pd.pivot_table(df, values='revenue',
                                 index='store', columns='category',
                                 aggfunc='sum', fill_value=0)

# 按日期 x 产品的销量透视
daily_sales = pd.pivot_table(df, values='units',
                              index='date', columns='product',
                              aggfunc='sum', fill_value=0)

# 2. 自动关键指标提取
total_revenue = df['revenue'].sum()
total_units = df['units'].sum()
avg_satisfaction = df['customer_satisfaction'].mean()
return_rate = df['returns'].sum() / df['units'].sum() * 100

# 3. 最佳/最差门店
store_performance = df.groupby('store').agg(
    revenue=('revenue', 'sum'),
    units=('units', 'sum'),
    satisfaction=('customer_satisfaction', 'mean')
).sort_values('revenue', ascending=False)
best_store = store_performance.index[0]
worst_store = store_performance.index[-1]

# 4. 自动生成报告模板
report = f"""
== 周度经营分析报告 ==

【核心指标】
总营收: ¥{total_revenue:,.0f}
总销量: {total_units:,} 件
平均满意度: {avg_satisfaction:.1f}/5.0
退货率: {return_rate:.1f}%

【门店表现】
最佳门店: {best_store} (营收 ¥{store_performance.iloc[0]['revenue']:,.0f})
待改善门店: {worst_store} (营收 ¥{store_performance.iloc[-1]['revenue']:,.0f})

【趋势洞察】
{generate_insights(df)}

== 报告生成时间: {pd.Timestamp.now().strftime('%Y-%m-%d %H:%M')} ==
"""

def generate_insights(df):
    insights = []
    daily_trend = df.groupby('date')['revenue'].sum()
    if daily_trend.iloc[-1] > daily_trend.iloc[0]:
        insights.append(f"营收呈上升趋势,从 ¥{daily_trend.iloc[0]:,.0f} 增长至 ¥{daily_trend.iloc[-1]:,.0f}")
    top_product = df.groupby('product')['revenue'].sum().idxmax()
    insights.append(f"{top_product} 是最畅销产品")
    return "\n".join(insights)

业务解读

自动化报告的核心价值不在于 '替代人工',而在于 '释放分析时间'。将重复的数据汇总自动化,分析师可以将更多时间投入到深度洞察和业务策略上。数据故事化 (Data Storytelling) 强调用 '管理层能听懂的语言' 呈现数据,而非堆砌图表。'退货率超过 5%' 比 '退货字段均值为 3.2' 更有业务价值。