Python 数据分析与可视化

示例:商店销售数据分析

1. 准备工作

首先,我们需要一些库,并准备一个简单的销售数据集。假设我们的数据集包含以下字段:

  • 日期(Date)
  • 商品(Product)
  • 销售额(Sales)

我们可以手动创建一个 DataFrame 作为示例数据:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 创建示例数据
data = {
    '日期': pd.date_range(start='2023-01-01', periods=10, freq='D'),
    '商品': ['苹果', '香蕉', '橙子', '苹果', '香蕉', '橙子', '苹果', '香蕉', '橙子', '苹果'],
    '销售额': [150, 200, 100, 170, 210, 90, 180, 220, 110, 160]
}
df = pd.DataFrame(data)

2. 数据分析

我们将计算每天的总销售额和每种商品的平均销售额。

# 计算每天的总销售额
daily_sales = df.groupby('日期')['销售额'].sum().reset_index()

# 计算每种商品的平均销售额
average_sales = df.groupby('商品')['销售额'].mean().reset_index()

3. 数据可视化

现在,我们将使用 Matplotlib 和 Seaborn 绘制销售数据的图表。

绘制每天的销售额折线图
plt.figure(figsize=(10, 5))
sns.barplot(data=average_sales, x='商品', y='销售额', palette='viridis')
plt.title('不同商品的平均销售额')
plt.xlabel('商品')
plt.ylabel('平均销售额')
plt.tight_layout()
plt.show()
绘制不同商品的平均销售额柱状图
plt.figure(figsize=(10, 5))
sns.barplot(data=average_sales, x='商品', y='销售额', palette='viridis')
plt.title('不同商品的平均销售额')
plt.xlabel('商品')
plt.ylabel('平均销售额')
plt.tight_layout()
plt.show()

4. 结果分析

  1. 折线图:展示了每日的销售趋势,帮助我们识别销售高峰期和低谷。
  2. 柱状图:比较了不同商品的平均销售额,可以帮助商店决策更有效的库存管理和促销策略.

完整的 Python 代码示例

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 创建示例数据
data = {
    '日期': pd.date_range(start='2023-01-01', periods=10, freq='D'),
    '商品': ['苹果', '香蕉', '橙子', '苹果', '香蕉', '橙子', '苹果', '香蕉', '橙子', '苹果'],
    '销售额': [150, 200, 100, 170, 210, 90, 180, 220, 110, 160]
}
df = pd.DataFrame(data)

# 计算每天的总销售额
daily_sales = df.groupby('日期')['销售额'].sum().reset_index()

# 计算每种商品的平均销售额
average_sales = df.groupby('商品')['销售额'].mean().reset_index()

# 绘制每日销售额折线图
plt.figure(figsize=(10, 5))
sns.lineplot(data=daily_sales, x='日期', y='销售额', marker='o')
plt.title('每日销售额')
plt.xlabel('日期')
plt.ylabel('销售额')
plt.xticks(rotation=45)
plt.grid()
plt.tight_layout()
plt.show()

# 绘制不同商品的平均销售额柱状图
plt.figure(figsize=(10, 5))
sns.barplot(data=average_sales, x='商品', y='销售额', palette='viridis')
plt.title('不同商品的平均销售额')
plt.xlabel('商品')
plt.ylabel('平均销售额')
plt.tight_layout()
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖釉-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值