آموزش پایتون
88 subscribers
281 photos
21 videos
81 files
178 links
ارتباط با ما:
@learnpythonicyBot

لینک گروه چت:
https://t.me/learnpythonicychat

لینک چنل ایتا:
https://eitaa.com/learnpythonicy
Download Telegram
Media is too big
VIEW IN TELEGRAM
🔥 وقتشه قدرت واقعی چیزهایی که تا امروز یاد گرفتیم رو ببینیم!

از Day 1 تا Day 17 چیا یادگرفنیم؟!
Variables
Conditions
Loops
Functions
Lists & Dictionaries
File Handling
CSV
Error Handling
OOP
NumPy
Pandas


شاید هرکدام از این تمرین‌ها به‌تنهایی ساده به نظر می‌رسیدند؛ اما وقتی کنار هم قرار می‌گیرند، می‌توانند به یک #پروژه کامل و حرفه‌ای تبدیل شوند.

🎥 ویدیویی که می‌بینید، نمونه‌ای از خروجی همین مسیر است:
Smart Student Success Dashboard

یک داشبورد هوشمند برای:
📊 تحلیل عملکرد دانشجویان
🔍 جست‌وجوی اطلاعات هر دانشجو
🏆 شناسایی دانشجویان برتر
⚠️ پیدا کردن دانشجویان نیازمند حمایت
📈 نمایش نمودارهای تحلیلی
🎓 بررسی میزان پیشرفت تا فارغ‌التحصیلی

@LearnPythonIcy
#project_time
👨‍💻2
🚀 چالش این هفته:
با استفاده از آموخته‌های Day 1 تا Day 17، نسخه خودتان از این پروژه را بسازید.
لازم نیست طراحی شما دقیقاً شبیه ویدیو باشد.
نسخه ساده، ناقص یا در حال توسعه هم پذیرفته می‌شود؛ مهم این است که شروع کنید و دانسته‌هایتان را به یک خروجی واقعی تبدیل کنید.

🟢 حداقل امکانات پیشنهادی:
• خواندن اطلاعات از CSV
• نمایش آمار کلی دانشجویان
• جست‌وجوی دانشجو
• شناسایی دانشجوی برتر
• نمایش وضعیت تحصیلی
• حداقل یک نمودار تحلیلی

🔴 چالش Pro:
• ساخت رابط کاربری با Streamlit
• اضافه‌کردن فیلتر و نمودارهای تعاملی
• شناسایی دانشجویان At Risk
• امکان دانلود گزارش
• انتشار پروژه در GitHub
مهلت ارسال پروژه:
تا پایان هفته


راه ارتباطی (کامنت،گروه، بات)
@learnpythonicychat
@learnpythonicyBot

📤 می‌توانید خروجی را به‌صورت یکی از موارد زیر را ارسال کنید:
فایل کد
لینک GitHub
اسکرین‌شات خروجی
ویدیوی کوتاه اجرای پروژه

https://t.me/learnpythonicy
#project_time
آموزش پایتون
🔥 وقتشه قدرت واقعی چیزهایی که تا امروز یاد گرفتیم رو ببینیم! از Day 1 تا Day 17 چیا یادگرفنیم؟! Variables Conditions Loops Functions Lists & Dictionaries File Handling CSV Error Handling OOP NumPy Pandas شاید هرکدام از این تمرین‌ها…
خیلی‌ها فکر کردند این 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://t.me/learnpythonicy
آموزش پایتون
sales_raw.csv
sales_raw.csv
873.6 KB
دیتاستی که میتونید ازش استفاده کنید.
آموزش پایتون
🐍 #Day18 — Data Cleaning & Data Preparation داده‌های واقعی همیشه تمیز و آماده تحلیل نیستند! امروز قرار است نقش یک Data Analyst را بازی کنیم و یک دیتاست خام را آماده کنیم. 🎯 Challenge: Clean a Real-World Sales Dataset در این تمرین ابتدا باید یک فایل به نام:…
بر اساس فایل 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
# 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
1
🔥 چالش ۳۰ روزه 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 از داده‌های واقعی؛ اولین قدم برای تبدیل داده خام به تصمیم‌های هوشمند.

راه ارتباطی (کامنت،گروه، بات)
@learnpythonicychat
@learnpythonicyBot

https://t.me/learnpythonicy
1
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day19 🎯 موضوع: Exploratory Data Analysis (EDA) 📝 صورت مسئله: از دیتاست زیر استفاده کنید(درواقع خروجی چالش روز18 هست.) : sales_cleaned.csv این دیتاست شامل اطلاعات فروش است: Order_ID Date Customer Product Category Region…
پاسخ چالش روز نوزدهم آماده شد!

در این تمرین با استفاده از Pandas، دیتاست فروش را تحلیل کردیم و موارد زیر را به دست آوردیم:

🔹 پرفروش‌ترین محصول
🔹 بهترین منطقه از نظر فروش
🔹 ماه با بیشترین درآمد
🔹 میانگین ارزش سفارش‌ها
🔹 نرخ رشد فروش ماهانه

در بخش Bonus نیز نمودارهای روند فروش، مقایسه دسته‌بندی محصولات و عملکرد مناطق با Plotly رسم شده‌اند. 📊

📎 فایل کامل پاسخ و کد اجرایی در ادامه ارسال شده است.

https://t.me/learnpythonicy

#DataAnalysis #Pandas #EDA
🌼
1
🔥 چالش ۳۰ روزه 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 بسیار مهم است.

راه ارتباطی:
@learnpythonicychat
@learnpythonicyBot

🔥 عضویت در چالش:
https://t.me/learnpythonicy
#Python #Streamlit #DataScience #Dashboard #Pandas #Plotly #PythonForAI #Day20
1
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day20 🎯 موضوع: ساخت داشبورد فروش با Streamlit 📝 صورت مسئله: در چالش امروز باید نتایج تحلیل داده‌های فروش را به یک داشبورد تعاملی تبدیل کنید. از فایل زیر استفاده کنید: sales_cleaned.csv این فایل خروجی چالش روز هجدهم است و شامل…
Day20_Sales_Dashboard.py
7.5 KB
پاسخ چالش روز 20ام

در این پروژه با استفاده از Streamlit یک داشبورد تعاملی فروش ساختیم که شامل موارد زیر است:

نمایش KPIهای فروش
نمودار درآمد ماهانه
محصولات برتر
مقایسه عملکرد مناطق
فیلتر تاریخ، منطقه و دسته‌بندی
امکان دانلود داده‌های فیلترشده

https://t.me/learnpythonicy

#Python #Streamlit #Dashboard #DataScience
1
🔥 چالش ۳۰ روزه Python for AI

#Day21

🎯 موضوع: Project Showcase

📝 صورت مسئله:

در روزهای ۱۸ تا ۲۰ یک پروژه کامل با عنوان زیر ساختید:

Sales Intelligence Dashboard

امروز باید این پروژه را برای GitHub و LinkedIn آماده کنید تا به‌عنوان یک نمونه‌کار واقعی در Portfolio شما قرار بگیرد.

📌 کارهای امروز:

فایل‌های پروژه را مرتب کنید.

ساختار پیشنهادی:

sales-intelligence-dashboard/

├── Day20_Sales_Dashboard.py
├── sales_cleaned.csv
├── requirements.txt
├── README.md
└── screenshots/


یک فایل README حرفه‌ای بنویسید.

README باید شامل این بخش‌ها باشد:

🔹 معرفی پروژه
🔹 هدف پروژه
🔹 قابلیت‌های داشبورد
🔹 ابزارها و کتابخانه‌های استفاده‌شده
🔹 روش نصب و اجرا
🔹 تصاویر داشبورد
🔹 نتایج و Insightهای به‌دست‌آمده


فایل requirements.txt بسازید.

محتوای پیشنهادی:

pandas
streamlit
plotly

حداقل ۲ اسکرین‌شات از داشبورد بگیرید.

پیشنهاد:

نمای کامل داشبورد
نمودارها و فیلترهای تعاملی

پروژه را در GitHub آپلود کنید.

نام پیشنهادی Repository:

sales-intelligence-dashboard

یک ویدیوی کوتاه ۳۰ تا ۶۰ ثانیه‌ای از اجرای داشبورد ضبط کنید.

در ویدیو نمایش دهید:

🔹 داشبورد چگونه اجرا می‌شود
🔹 فیلترها چگونه کار می‌کنند
🔹 نمودارها چگونه تغییر می‌کنند
🔹 امکان دانلود CSV

🎯 Bonus Challenge

⭐️ یک توضیح کوتاه انگلیسی برای پروژه بنویسید.

نمونه:

I built an interactive Sales Intelligence Dashboard using Python, Pandas, Plotly, and Streamlit. The dashboard analyzes sales performance, customer activity, products, categories, and regions through interactive filters and visualizations.

⭐️ لینک GitHub پروژه را در LinkedIn منتشر کنید.


📋 هدف امروز:

یادگیری نحوه ارائه یک پروژه واقعی؛ چون فقط نوشتن کد کافی نیست و باید بتوانید پروژه خود را حرفه‌ای معرفی و نمایش دهید.

راه ارتباطی:

@learnpythonicychat
@learnpythonicyBot

🔥 عضویت در چالش:

https://t.me/learnpythonicy

#Python #Streamlit #DataScience #ProjectShowcase
1
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day21 🎯 موضوع: Project Showcase 📝 صورت مسئله: در روزهای ۱۸ تا ۲۰ یک پروژه کامل با عنوان زیر ساختید: Sales Intelligence Dashboard امروز باید این پروژه را برای GitHub و LinkedIn آماده کنید تا به‌عنوان یک نمونه‌کار واقعی در…
Day21_Sales_Intelligence_Dashboard_Project.zip
6.5 MB
پاسخ چالش روز 21

در این مرحله، پروژه Sales Intelligence Dashboard را به یک نمونه‌کار حرفه‌ای و آماده انتشار تبدیل کردیم.

📦 فایل پروژه شامل:

🔹 داشبورد کامل Streamlit
🔹 دیتاست فروش
🔹 README حرفه‌ای برای GitHub
🔹 فایل requirements
🔹 متن آماده LinkedIn
🔹 ساختار استاندارد Portfolio

@learnpythonicy

#Python #GitHub #Portfolio #Streamlit #DataScience #Day21
:::
1
customer_churn.csv
206.5 KB
دیتاست چالش روز 22 -23-24
1
🔥 چالش ۳۰ روزه Python for AI
#Day22
🚨 مأموریت جدید: مشتری‌ها در حال رفتن هستند!
یک شرکت اشتراکی متوجه شده تعداد زیادی از مشتریانش بدون هشدار قبلی سرویس را ترک می‌کنند.
مدیر شرکت از تیم هوش مصنوعی کمک خواسته است:
«آیا می‌توانیم قبل از رفتن مشتری، آن را پیش‌بینی کنیم؟»
از امروز وارد سومین پروژه واقعی چالش می‌شویم:
🤖 Customer Churn Prediction
هدف نهایی پروژه این است که یک سیستم هوشمند بسازیم که مشتریان در معرض ریزش را شناسایی کند.
اما قبل از ساخت مدل، باید دیتاست را برای Machine Learning آماده کنیم.
📂 فایل مأموریت: customer_churn.csv
اطلاعات هر مشتری:
🔹 Customer_ID — شناسه مشتری
🔹 Age — سن
🔹 Usage — میزان استفاده از سرویس
🔹 Contract — نوع قرارداد
🔹 MonthlyCharge — هزینه ماهانه
🔹 SupportCalls — تعداد تماس با پشتیبانی
🔹 Churn — وضعیت ریزش مشتری
معنی ستون Churn:
🟢 0 = مشتری باقی مانده است
🔴 1 = مشتری سرویس را ترک کرده است
🎯 مأموریت امروز: ساخت ML Data Pipeline
برنامه شما باید:
دیتاست را با Pandas بخواند.
تعداد مشتریان و ستون‌ها را نمایش دهد.
داده‌های گمشده و تکراری را شناسایی کند.
تعداد مشتریان باقی‌مانده و ریزش‌کرده را محاسبه کند.
نرخ ریزش مشتریان را به‌صورت درصد نمایش دهد.
ستون‌های ورودی مدل یا Features را مشخص کند.
ستون هدف یا Target را جدا کند.
داده‌ها را به دو بخش تقسیم کند:
🧠 80% Training Data
🧪 20% Testing Data
برای تقسیم داده‌ها از train_test_split استفاده کنید.
📋 خروجی پیشنهادی:
========== CHURN ALERT SYSTEM ==========

Total Customers: 5000
Active Customers: 3870
Churned Customers: 1130
Churn Rate: 22.6%

Features: 5
Target: Churn

Training Samples: 4000
Testing Samples: 1000

Data is ready for Machine Learning! 🚀


🔥 Bonus Mission
تحقیق کنید مشتریان ریزش‌کرده چه تفاوتی با مشتریان باقی‌مانده دارند:
🔍 آیا میزان استفاده آن‌ها کمتر است؟
💰 آیا هزینه ماهانه بیشتری پرداخت می‌کنند؟
☎️ آیا تماس بیشتری با پشتیبانی داشته‌اند؟
📄 آیا نوع قرارداد روی ریزش تأثیر دارد؟
حداقل دو Insight مهم از داده‌ها استخراج کنید.
📊 نمودار پیشنهادی:
تعداد مشتریان فعال و ریزش‌کرده را با یک نمودار مقایسه کنید.

⚠️ نکته مهم:
امروز هنوز مدل نمی‌سازیم.
امروز داده‌ها را برای آموزش اولین مدل Machine Learning در روز ۲۳ آماده می‌کنیم.
آیا فردا می‌توانید قبل از رفتن مشتری، او را شناسایی کنید؟ 👀
راه ارتباطی:
@learnpythonicychat
@learnpythonicyBot
🔥 ورود به چالش:
@learnpythonicy
#Python #MachineLearning #CustomerChurn #DataScience #AIChallenge #PythonForAI #Day22
1
Day22_Churn_Mission_Solution.py
5.7 KB
فایل‌های زیر را کنار هم قرار دهید:
Day22_Churn_Mission_Solution.py
customer_churn.csv

سپس اجرا کنید:
pip install pandas scikit-learn plotly
python Day22_Churn_Mission_Solution.py


Insightهای اصلی:
مشتریان ریزش‌کرده استفاده کمتری از سرویس دارند.
هزینه ماهانه آن‌ها بیشتر است.
تماس بیشتری با پشتیبانی دارند.
قراردادهای ماهانه با نرخ ریزش 33.26% بیشترین ریسک را دارند.

در این تمرین، دیتاست مشتریان را بررسی و برای اولین مدل Machine Learning آماده کردیم.

پاسخ روز22 ام
1