آموزش پایتون
🔥 وقتشه قدرت واقعی چیزهایی که تا امروز یاد گرفتیم رو ببینیم! از Day 1 تا Day 17 چیا یادگرفنیم؟! ✅ V
چالشها تازه جذاب شدند، نه؟؟؟🥹😋
آموزش پایتون
🚀 چالش این هفته: با استفاده از آموختههای Day 1 تا Day 17، نسخه خودتان از این پروژه را بسازید. لازم
خیلیها فکر کردند این Dashboard فقط با چند خط کد ساخته شده...
اما پشت این پروژه:
17 روز تمرین، صدها خط کد، و ترکیب چندین مفهوم Python وجود دارد.
حالا مرحله بعد شروع میشود:
هر هفته یک پروژه واقعی میسازیم!
پروژه بعدی:
🚀 Sales Data Analyzer
🐍 #Day18 — Data Cleaning & Data Preparation
دادههای واقعی همیشه تمیز و آماده تحلیل نیستند!
امروز قرار است نقش یک Data Analyst را بازی کنیم و یک دیتاست خام را آماده کنیم.
🎯 Challenge: Clean a Real-World Sales Dataset
در این تمرین ابتدا باید یک فایل به نام:
📂 sales_raw.csv
بسازید که شامل اطلاعات فروش باشد:
Order_ID
Date
Customer
Product
Category
Region
Quantity
Price
(حدود 15,000 رکورد)
اما این دادهها باید شامل مشکلات واقعی باشند:
❌ مقادیر خالی (Missing Values)
❌ ردیفهای تکراری (Duplicate Rows)
❌ تاریخهای با فرمت اشتباه
❌ دادههای نامعتبر در بعضی ستونها
Tasks:
✅ 1. خواندن فایل CSV با Pandas
✅ 2. بررسی کیفیت داده:
تعداد Missing Values
تعداد Duplicate Rows
نوع داده هر ستون
✅ 3. پاکسازی داده:
🧹 حذف رکوردهای خراب
📅 تبدیل ستون Date به فرمت صحیح
💰 ساخت ستون جدید:
Revenue = Quantity × Price
✅ 4. ذخیره دیتاست نهایی:
sales_cleaned.csv
Expected Output:
Before Cleaning:
Original rows: 15,000
https://eitaa.com/learnpythonicy
آموزش پایتون
دیتاستی که میتونید ازش استفاده کنید. روز 18_
بر اساس فایل sales_raw.csv، جواب چالش به این شکل میشود:
🐍 Day 18 — Data Cleaning & Data Preparation Result
📂 Dataset Analysis
ابتدا فایل sales_raw.csv با استفاده از Pandas خوانده شد.
import pandas as pd
df = pd.read_csv("sales_raw.csv")
Dataset Size:
Original rows: 15,150
Columns: 9
🔍 Data Quality Check
1. Missing Values
بررسی مقادیر خالی:
Region: 2510
Price: 23
2. Duplicate Rows
تعداد ردیفهای تکراری:
Duplicate rows: 150
3. Data Type Check
قبل از پاکسازی:
Date object
Price float64
Quantity int64
Revenue int64
ستون Date نیاز به تبدیل به فرمت استاندارد تاریخ داشت.
🧹 Data Cleaning Process
حذف دادههای تکراری:
df = df.drop_duplicates()
نتیجه:
Removed duplicates: 150 rows
تبدیل تاریخ:
df["Date"] = pd.to_datetime(
df["Date"],
errors="coerce"
)
تاریخهای نامعتبر:
Invalid dates: 10
حذف رکوردهای ناقص:
رکوردهایی که اطلاعات ضروری مثل:
Price
Region
Date
را نداشتند حذف شدند.
ساخت ستون Revenue:
df["Revenue"] = df["Quantity"] * df["Price"]
✅ Final Result
قبل از پاکسازی:
Rows: 15,150
بعد از پاکسازی:
Clean rows: 12,482
Missing values:
0
Duplicate rows:
0
💡 Key Learning
داده خام همیشه قابل استفاده برای Machine Learning نیست.
قبل از ساخت هر مدل AI باید:
Collect → Clean → Prepare → Train
را انجام دهیم.
یک مدل قوی با داده ضعیف نمیتواند نتیجه خوبی بدهد.
#Pandas #DataCleaning #DataScience #MachineLearning
https://eitaa.com/learnpythonicy
# Day18_Data_Cleaning.py
# Data Cleaning & Data Preparation with Pandas
import pandas as pd
# ==============================
# 1. Load Dataset
# ==============================
df = pd.read_csv("sales_raw.csv")
print("========== Original Dataset ==========")
print(f"Rows: {df.shape[0]}")
print(f"Columns: {df.shape[1]}")
print("\nFirst 5 rows:")
print(df.head())
# ==============================
# 2. Check Missing Values
# ==============================
print("\n========== Missing Values ==========")
missing = df.isnull().sum()
print(missing[missing > 0])
# ==============================
# 3. Check Duplicate Rows
# ==============================
print("\n========== Duplicate Rows ==========")
duplicates = df.duplicated().sum()
print("Duplicate rows:", duplicates)
# ==============================
# 4. Check Data Types
# ==============================
print("\n========== Data Types ==========")
print(df.dtypes)
# ==============================
# 5. Data Cleaning
# ==============================
print("\n========== Cleaning Process ==========")
# Remove duplicate rows
df = df.drop_duplicates()
print("Duplicates removed")
# Convert Date column
df["Date"] = pd.to_datetime(
df["Date"],
errors="coerce"
)
print("Date converted")
# Remove invalid dates
df = df.dropna(subset=["Date"])
print("Invalid dates removed")
# Handle missing Price
df["Price"] = df["Price"].fillna(
df["Price"].mean()
)
print("Missing Price values filled")
# Handle missing Region
df["Region"] = df["Region"].fillna("Unknown")
print("Missing Region values filled")
# ==============================
# 6. Create Revenue Column
# ==============================
df["Revenue"] = df["Quantity"] * df["Price"]
print("Revenue column created")
# ==============================
# 7. Save Clean Dataset
# ==============================
df.to_csv(
"sales_cleaned.csv",
index=False
)
# ==============================
# 8. Final Report
# ==============================
print("\n========== Final Dataset ==========")
print(f"Clean rows: {df.shape[0]}")
print(f"Clean columns: {df.shape[1]}")
print("\nRemaining Missing Values:")
print(df.isnull().sum())
print("\nFile saved successfully:")
print("sales_cleaned.csv")
پاسخ روز 18ام👆
@learnpythonicy
🔥 چالش ۳۰ روزه Python for AI
#Day19
🎯 موضوع: Exploratory Data Analysis (EDA)
📝 صورت مسئله:
از دیتاست زیر استفاده کنید(درواقع خروجی چالش روز18 هست.) :
sales_cleaned.csv
این دیتاست شامل اطلاعات فروش است:
Order_ID
Date
Customer
Product
Category
Region
Quantity
Price
Revenue
برنامه باید:
✅ بهترین محصول را بر اساس میزان فروش پیدا کند.
✅ پرفروشترین منطقه را مشخص کند.
✅ بیشترین درآمد ماهانه را پیدا کند.
✅ Average Order Value را محاسبه کند.
✅ روند رشد فروش را در طول زمان بررسی کند.
🎯 Bonus Challenge
با استفاده از کتابخانه Plotly نمودارهای زیر را ایجاد کنید:
📈 Sales Trend
روند فروش ماهانه را نمایش دهد.
📊 Category Comparison
مقایسه درآمد دستههای مختلف محصولات.
🌍 Region Performance
مقایسه عملکرد مناطق مختلف.
📋 هدف امروز:
یادگیری تحلیل داده و استخراج Insight از دادههای واقعی؛ اولین قدم برای تبدیل داده خام به تصمیمهای هوشمند.
https://eitaa.com/joinchat/956171922Cb501d5a32f
https://eitaa.com/learnpythonicy
https://t.me/learnpythonicy
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day19 🎯 موضوع: Exploratory Data Analysis (EDA) 📝 صورت مسئله: از دی
✅ پاسخ چالش روز نوزدهم آماده شد!
در این تمرین با استفاده از Pandas، دیتاست فروش را تحلیل کردیم و موارد زیر را به دست آوردیم:
🔹 پرفروشترین محصول
🔹 بهترین منطقه از نظر فروش
🔹 ماه با بیشترین درآمد
🔹 میانگین ارزش سفارشها
🔹 نرخ رشد فروش ماهانه
در بخش Bonus نیز نمودارهای روند فروش، مقایسه دستهبندی محصولات و عملکرد مناطق با Plotly رسم شدهاند. 📊
📎 فایل کامل پاسخ و کد اجرایی در ادامه ارسال شده است.
@learnpythonicy
#DataAnalysis #Pandas #EDA
🔥 چالش ۳۰ روزه Python for AI
#Day20
🎯 موضوع: ساخت داشبورد فروش با Streamlit
📝 صورت مسئله:
در چالش امروز باید نتایج تحلیل دادههای فروش را به یک داشبورد تعاملی تبدیل کنید.
از فایل زیر استفاده کنید: sales_cleaned.csv
این فایل خروجی چالش روز هجدهم است و شامل اطلاعات سفارشها، محصولات، مشتریان، مناطق و درآمد فروش است.
برنامه شما باید با استفاده از Streamlit یک داشبورد فروش بسازد.
📌 بخش اول: KPI Cards
در بالای داشبورد شاخصهای زیر را نمایش دهید:
✅ Total Revenue
مجموع درآمد فروش
✅ Total Orders
تعداد کل سفارشها
✅ Total Customers
تعداد مشتریان منحصربهفرد
✅ Sales Growth
درصد رشد فروش نسبت به ماه قبل
📌 بخش دوم: نمودارها
داشبورد باید نمودارهای زیر را داشته باشد:
📈 Monthly Revenue
نمایش روند درآمد ماهانه
📊 Top Products
نمایش محصولات برتر بر اساس درآمد یا تعداد فروش
🌍 Region Performance
مقایسه درآمد مناطق مختلف
🗂 Category Comparison
مقایسه دستهبندی محصولات
📌 بخش سوم: فیلترهای تعاملی
کاربر بتواند اطلاعات داشبورد را بر اساس موارد زیر فیلتر کند:
✅ بازه زمانی
✅ منطقه
✅ دستهبندی محصول
با تغییر فیلترها، شاخصها و نمودارها نیز باید بهروزرسانی شوند.
🎯 Bonus Challenge
موارد زیر را نیز به داشبورد اضافه کنید:
⭐️ نمایش پرفروشترین محصول
⭐️ نمایش بهترین منطقه
⭐️ نمایش Average Order Value
⭐️ امکان دانلود دادههای فیلترشده بهصورت CSV
⭐️ طراحی حرفهای داشبورد با ستونبندی و رنگبندی مناسب
📁 نام پیشنهادی فایل:
Day20_Sales_Dashboard.py
▶️ اجرای برنامه:
streamlit run Day20_Sales_Dashboard.py
📋 هدف امروز:
تبدیل تحلیل داده به یک برنامه تعاملی و قابل استفاده؛ مهارتی که در پروژههای واقعی Data Science و ساخت Portfolio بسیار مهم است.
🔥 عضویت در چالش:
@learnpythonicy
#Python #Streamlit #DataScience #Dashboard #Pandas #Plotly #PythonForAI #Day20