使用ChatGPT 結合Python和Excel進行銷售數據分析

數據分析是當今商業決策的關鍵。Excel一直是進行數據分析的受歡迎工具,但當結合Python時,它的能力可以大大增強。在這篇教程中,我將指導你如何使用Python生成數據,然後將其保存到Excel文件中,以進行進一步的分析和可視化。

數據準備

首先,我們將使用Python來生成一個假想的銷售數據集。數據將包含以下列:

  • 日期
  • 產品名稱
  • 類別
  • 銷售量
  • 單價
import pandas as pd
from datetime import datetime, timedelta
import numpy as np

# 設定種子以便結果的再現性
np.random.seed(0)

# 定義數據生成函數
def generate_data(num_days, start_date):
    # 生成日期範圍
    dates = [start_date + timedelta(days=i) for i in range(num_days)]

    # 產品和類別
    products = ['產品A', '產品B', '產品C', '產品D']
    categories = ['類別1', '類別2']

    # 生成數據
    data = []
    for date in dates:
        for product in products:
            category = np.random.choice(categories)
            quantity = np.random.randint(1, 20) # 隨機產生銷售量
            price = np.random.uniform(10, 100) # 隨機產生單價
            data.append([date, product, category, quantity, price])
            
    return pd.DataFrame(data, columns=['日期', '產品名稱', '類別', '銷售量', '單價'])

# 生成過去30天的數據
df = generate_data(30, datetime.now() - timedelta(days=30))

接下來,我們將這個數據集保存為Excel文件。

# 將數據保存為Excel文件
excel_file_path = 'sales_data.xlsx'
df.to_excel(excel_file_path, index=False)

數據可視化

最後,我們使用matplotlib進行數據可視化。

import matplotlib.pyplot as plt

# 銷售額隨時間變化的折線圖
df['日期'] = pd.to_datetime(df['日期']).dt.date
sales_over_time = df.groupby('日期')['銷售額'].sum()

plt.figure(figsize=(12, 6))
sales_over_time.plot(kind='line', marker='o')
plt.title('銷售額隨時間變化')
plt.xlabel('日期')
plt.ylabel('銷售額')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

# 每個類別的銷售額柱狀圖
plt.figure(figsize=(8, 6))
sales_by_category.plot(kind='bar')
plt.title('每個類別的銷售額')
plt.xlabel('類別')
plt.ylabel('銷售額')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()

在這個教程中,我們學會了如何使用Python生成數據,將其保存到Excel中,進行分析,並使用matplotlib進行可視化。這個結合了Python和Excel的流程,為進行更複雜的數據分析提供了強大的基礎。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *