علوم داده

تجزیه و تحلیل داده های فروش با NumPy

در این مثال، نحوه استفاده از NumPy برای تجزیه و تحلیل مجموعه داده های فروش را بررسی می کنیم.

فرض کنید مجموعه داده های ما شامل ستون هایی برای نام محصول، قیمت واحد، تعداد واحدهای فروخته شده و تاریخ فروش است.

هدف:

  • محاسبه درآمد کل برای هر محصول
  • شناسایی پرفروش ترین محصول از نظر تعداد واحدهای فروخته شده
  • محاسبه میانگین قیمت در هر ماه

مراحل:

1. بارگیری و پیش پردازش داده ها:

  • از کتابخانه csv برای خواندن داده ها از یک فایل CSV استفاده کنید.
  • داده ها را به یک آرایه NumPy با ستون های مربوطه تبدیل کنید.
  • مقادیر گمشده یا نامعتبر را بررسی و handle کنید.
Python
import numpy as np
import csv

# بارگیری داده ها از فایل CSV
data = []
with open('sales_data.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    next(reader)  # Skip header row
    for row in reader:
        data.append(row)

# تبدیل داده ها به آرایه NumPy
data_array = np.array(data)

# تبدیل ستون ها به نوع داده مناسب
product_names = data_array[:, 0]
unit_prices = data_array[:, 1].astype(np.float64)
unit_sold = data_array[:, 2].astype(np.int32)
sale_dates = data_array[:, 3]

2. محاسبه درآمد کل برای هر محصول:

  • از عملگر ضرب برای محاسبه درآمد کل (قیمت واحد * تعداد واحدهای فروخته شده) برای هر محصول استفاده کنید.
  • از np.unique() برای دریافت لیست محصولات منحصر به فرد استفاده کنید.
  • از np.sum() برای جمع کردن درآمد هر محصول استفاده کنید.
Python
# محاسبه درآمد کل برای هر محصول
total_revenue = unit_prices * unit_sold

# دریافت لیست محصولات منحصر به فرد
unique_products = np.unique(product_names)

# جمع آوری درآمد کل برای هر محصول
product_revenue = np.zeros_like(unique_products)
for product in unique_products:
    product_mask = product_names == product
    product_revenue[np.where(unique_products == product)] = np.sum(total_revenue[product_mask])

# مرتب سازی محصولات بر اساس درآمد کل به صورت نزولی
sorted_revenue = np.sort(product_revenue)[::-1]
sorted_products = unique_products[np.argsort(product_revenue)[::-1]]

# نمایش 5 محصول پرفروش
print("5 محصول پرفروش:")
for i in range(5):
    print(f"{sorted_products[i]}: ${sorted_revenue[i]:,.2f}")

3. شناسایی پرفروش ترین محصول:

  • از np.argmax() برای یافتن شاخص محصول با بالاترین درآمد کل استفاده کنید.
Python
# یافتن شاخص محصول با بالاترین درآمد کل
top_product_idx = np.argmax(product_revenue)

# نمایش پرفروش ترین محصول
print("\nپرفروش ترین محصول:")
print(f"{sorted_products[top_product_idx]}: ${sorted_revenue[top_product_idx]:,.2f}")

4. محاسبه میانگین قیمت در هر ماه:

  • از np.extract() برای استخراج داده های مربوط به هر ماه استفاده کنید.
  • از np.mean() برای محاسبه میانگین قیمت در هر ماه استفاده کنید.
Python
# استخراج داده ها برای هر ماه
months = np.unique(sale_dates[:, 2])

# محاسبه میانگین قیمت در هر ماه
monthly_avg_price = np.zeros_like(months)
for month in months:
    month_mask = sale_dates[:, 2] == month
    monthly_avg_price[np.where(months == month)] = np.mean(unit_prices[month_mask])

# نمایش میانگین قیمت در هر ماه
print("\nمیانگین قیمت در هر ماه:")
for i in range(len(months)):
    print(f"{months[i]}: ${monthly_avg_price[i]:,.2f}")

نمایش بیشتر

نوشته‌های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا