Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
☝️ادامه کد متن قبلی☝️
def save_file():
file_path = filedialog.asksaveasfilename(defaultextension=".py", filetypes=[("Python files", "*.py")])
if file_path:
with open(file_path, "w", encoding="utf-8") as file:
code = text_widget.get(1.0, tk.END)
file.write(code)

def run_code():
code = text_widget.get(1.0, tk.END)
exec(code)

file_menu.add_command(label="باز کردن", command=open_file)
file_menu.add_command(label="ذخیره", command=save_file)
file_menu.add_separator()
file_menu.add_command(label="اجرا", command=run_code)

if name == "main":
main_window = create_main_window()
text_editor = add_text_widget(main_window)
add_menu(main_window, text_editor)
main_window.mainloop()

🎉 تبریک! شما یک IDE ساده با پایتون ساختید!

این IDE به شما امکان می‌دهد تا کدهای پایتون خود را نوشته، ذخیره و اجرا کنید. شما می‌توانید با افزودن قابلیت‌های بیشتر مانند هایلایت سینتکس، شماره‌گذاری خطوط و دیباگر، این IDE را بهبود بخشید.

🔧 گسترش قابلیت‌ها*
در اینجا چند پیشنهاد برای گسترش قابلیت‌های IDE:
- هایلایت سینتکس
- شماره‌گذاری خطوط
- تکمیل خودکار کد
- ابزار دیباگ

(کانال ما)

#PythonIDE #Tkinter #PythonProgramming #CodeEditor #LearnPython
👍42
📚 دوره آموزش پایتون از 0 تا 100

پارت ۱۷: Decorators و Generators 🚀

در این پارت با دو مفهوم پیشرفته در پایتون یعنی Decorators و Generators آشنا می‌شویم. این دو ابزار به شما کمک می‌کنند تا کدهای خوانا‌تر، ماژولارتر و بهینه‌تری بنویسید.

۱. Decorators 🎨
Decorators یکی از ویژگی‌های قدرتمند پایتون است که به شما اجازه می‌دهد تا رفتار توابع یا کلاس‌ها را بدون تغییر در کد اصلی آن‌ها، اصلاح کنید.

۱.۱. تعریف یک Decorator
یک decorator در واقع یک تابع است که یک تابع دیگر را به عنوان ورودی می‌گیرد و یک تابع جدید را برمی‌گرداند.

def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper

@my_decorator
def say_hello():
print("Hello!")

say_hello()

در این مثال:
- my_decorator یک decorator است که تابع say_hello را تزئین می‌کند.
- @my_decorator قبل از تعریف say_hello باعث می‌شود که say_hello به صورت خودکار با my_decorator تزئین شود.

۱.۲. Decorators با آرگومان‌ها

def repeat(n):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(n):
func(*args, **kwargs)
return wrapper
return decorator

@repeat(3)
def greet(name):
print(f"Hello, {name}!")

greet("Alice")

در این مثال:
- repeat یک decorator با آرگومان است که تابع greet را ۳ بار اجرا می‌کند.

۲. Generators 🔄
Generators به شما اجازه می‌دهند تا به راحتی iteratorهای خود را تعریف کنید. آن‌ها به جای برگرداندن یک لیست کامل، یک به یک مقادیر را تولید می‌کنند که باعث بهینه‌تر شدن حافظه می‌شود.

۲.۱. تعریف یک Generator

def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1

counter = count_up_to(5)
for num in counter:
print(num)

در این مثال:
- count_up_to یک generator است که از ۱ تا max را تولید می‌کند.
- yield به جای return استفاده شده است که مقادیر را یکی یکی تولید می‌کند.

۲.۲. Generators با تابع next()

def simple_gen():
yield 1
yield 2
yield 3

gen = simple_gen()
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # 3

در این مثال:
- simple_gen یک generator ساده است که مقادیر ۱، ۲ و ۳ را تولید می‌کند.
- با استفاده از next() می‌توان مقادیر بعدی را از generator دریافت کرد.


نکات مهم
- Decoratorها: برای تزئین توابع و تغییر رفتار آن‌ها بدون تغییر در کد اصلی استفاده می‌شوند. آن‌ها می‌توانند به توابعی با آرگومان‌های مختلف اعمال شوند.
- Generatorها: برای ایجاد iteratorهای کارآمد و بهینه استفاده می‌شوند. آن‌ها مقادیر را به صورت lazy evaluation تولید می‌کنند که باعث کاهش استفاده از حافظه می‌شود.

این دو مفهوم به شما کمک می‌کنند تا کدهای پیچیده‌تر و بهینه‌تری در پایتون بنویسید. امیدوارم این آموزش برای شما مفید بوده باشد! 🌟

🔻برای دیدن آموزش های مفید بیشتر اینجا کلیک کن

#پایتون #آموزش_پایتون #Decorators #Generators #PythonAdvanced #PythonProgramming
👍5
📚 دوره آموزش پایتون از 0 تا 100

پارت ۱۸: مدیریت حافظه و Garbage Collection در پایتون 🗑️🧠

در این پارت با مدیریت حافظه و مکانیزم Garbage Collection (GC) در پایتون آشنا می‌شویم. مدیریت حافظه یکی از مفاهیم مهم در برنامه‌نویسی است که به بهینه‌سازی عملکرد برنامه کمک می‌کند.

۱. مدیریت حافظه در پایتون 🧠

پایتون به طور خودکار مدیریت حافظه را انجام می‌دهد، به این معنی که به شما اجازه می‌دهد تا روی نوشتن کد تمرکز کنید بدون اینکه نگرانی از مدیریت دستی حافظه داشته باشید.

- فضای حافظه: هر متغیری که تعریف می‌کنید، فضایی در حافظه اشغال می‌کند.
- هندلینگ خودکار: پایتون به طور خودکار حافظه را تخصیص داده و آزاد می‌کند.

۲. Garbage Collection در پایتون 🗑️

Garbage Collection فرآیندی است که حافظه اشغال‌شده توسط اشیاء غیرقابل‌دسترسی (غیرقابل‌استفاده) را آزاد می‌کند. پایتون دارای یک garbage collector داخلی است که به طور خودکار این فرآیند را مدیریت می‌کند.

۲.۱. اصول اولیه GC

- تخصیص حافظه: هنگامی که یک شیء جدید ایجاد می‌شود، پایتون حافظه موردنیاز را به آن اختصاص می‌دهد.
- جمع‌آوری زباله: هنگامی که یک شیء دیگر قابل‌دسترسی نیست، garbage collector آن را پیدا کرده و حافظه را آزاد می‌کند.

۲.۲. روش‌های GC در پایتون

پایتون از دو روش اصلی برای جمع‌آوری زباله استفاده می‌کند:
- مرجع‌سنجی: هر شیء دارای یک شمارنده مرجع است که تعداد مراجع به آن را نگهداری می‌کند. هنگامی که شمارنده به صفر می‌رسد، حافظه آزاد می‌شود.
- چرخه‌یابی: پایتون از الگوریتم چرخه‌یابی برای شناسایی و آزاد کردن چرخه‌های مرجع که در آن دو یا چند شیء به یکدیگر ارجاع می‌دهند و هرگز آزاد نمی‌شوند، استفاده می‌کند.

۲.۳. استفاده از ماژول gc

ماژول gc در پایتون امکان کنترل و مشاهده وضعیت GC را فراهم می‌کند.

import gc

# فعال‌سازی جمع‌آوری زباله
gc.enable()

# غیر فعال‌سازی جمع‌آوری زباله
gc.disable()

# انجام یک چرخه جمع‌آوری زباله به صورت دستی
gc.collect()

# مشاهده وضعیت جمع‌آوری زباله
print(gc.get_stats())

۳. بهینه‌سازی استفاده از حافظه

برای بهینه‌سازی حافظه در برنامه‌های پایتون، می‌توانید به نکات زیر توجه کنید:

- استفاده از متغیرها و اشیاء بهینه: متغیرها و اشیائی که دیگر نیاز ندارید را آزاد کنید.
- اجتناب از ایجاد چرخه‌های مرجع: چرخه‌های مرجع باعث می‌شوند که garbage collector نتواند حافظه را آزاد کند.
- پایش و پروفایل حافظه: از ابزارهای مختلفی مانند memory_profiler برای پایش و تحلیل مصرف حافظه استفاده کنید.

from memory_profiler import profile

@profile
def my_function():
a = [i for i in range(10000)]
b = {i: i for i in range(10000)}
return a, b

if name == 'main':
my_function()

نکات مهم
- مدیریت حافظه: پایتون به صورت خودکار مدیریت حافظه را انجام می‌دهد.
- جمع‌آوری زباله: پایتون از تکنیک‌های مرجع‌سنجی و چرخه‌یابی برای جمع‌آوری زباله استفاده می‌کند.
- بهینه‌سازی: بهینه‌سازی مصرف حافظه با استفاده از ابزارهای مختلف و تکنیک‌های مدیریت حافظه.

این آموزش به شما کمک می‌کند تا با مفاهیم مدیریت حافظه و Garbage Collection در پایتون آشنا شوید و بتوانید برنامه‌های بهینه‌تری بنویسید. موفق باشید! 🌟

🔻آموزش های مفید بیشتر اینجاست

#پایتون #آموزش_پایتون #مدیریت_حافظه #GarbageCollection #PythonMemoryManagement #PythonProgramming
👍3
📚 دوره آموزش پایتون از 0 تا 100

پارت ۱۹: شروع با Flask برای توسعه وب 🌐

در این پارت با فریم‌ورک Flask آشنا می‌شویم و یاد می‌گیریم چگونه با استفاده از این فریم‌ورک ساده اما قدرتمند، وب‌سایت‌ها و برنامه‌های وبی را ایجاد کنیم.

۱. Flask چیست؟ 🤔
Flask یک فریم‌ورک کوچک و منعطف برای توسعه وب در پایتون است که برای ساخت برنامه‌های وب ساده و سریع بسیار مناسب است.

۲. نصب Flask 🛠️

برای نصب Flask از pip استفاده می‌کنیم:

pip install Flask

۳. ایجاد اولین برنامه Flask 📝

یک فایل جدید با نام app.py ایجاد کنید و کد زیر را در آن بنویسید:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
return "Hello, Flask!"

if __name__ == '__main__':
app.run(debug=True)

این کد:
- Flask را ایمپورت می‌کند.
- یک اپلیکیشن Flask ایجاد می‌کند.
- یک روت برای صفحه اصلی تعریف می‌کند که متن "Hello, Flask!" را برمی‌گرداند.
- اپلیکیشن را در حالت دیباگ اجرا می‌کند.

برای اجرای برنامه، در ترمینال دستور زیر را وارد کنید:

python app.py

و مرورگر خود را باز کنید و به آدرس https://127.0.0.1:5000/ بروید. باید پیام "Hello, Flask!" را ببینید.

۴. مسیریابی (Routing) 🚦

Flask از مفهوم مسیریابی برای هدایت درخواست‌ها به توابع خاص استفاده می‌کند. بیایید یک مثال دیگر از مسیریابی ببینیم:

@app.route('/about')
def about():
return "This is the about page."

۵. استفاده از قالب‌ها (Templates) 📄

برای ایجاد صفحات HTML دینامیک از قالب‌ها استفاده می‌کنیم. ابتدا یک پوشه به نام templates ایجاد کرده و یک فایل HTML به نام index.html در آن ایجاد کنید:

<!doctype html>
<html>
<head>
<title>Flask App</title>
</head>
<body>
<h1>{{ message }}</h1>
</body>
</html>

حالا کد زیر را به app.py اضافه کنید:

from flask import render_template

@app.route('/')
def home():
return render_template('index.html', message="Hello, Flask with Templates!")

۶. دریافت ورودی از کاربر 📥

برای دریافت داده از کاربر از فرم‌ها استفاده می‌کنیم. یک فرم ساده در فایل index.html ایجاد کنید:

<form method="POST" action="/submit">
<input type="text" name="username">
<input type="submit" value="Submit">
</form>

و در app.py کد زیر را اضافه کنید:

from flask import request

@app.route('/submit', methods=['POST'])
def submit():
username = request.form['username']
return f"Hello, {username}!"

۷. مدیریت خطاها و ریدایرکت‌ها ⚠️➡️

برای مدیریت خطاها و ریدایرکت‌ها از توابع مخصوص استفاده می‌کنیم:

from flask import redirect, url_for

@app.route('/redirect')
def redirect_example():
return redirect(url_for('home'))

@app.errorhandler(404)
def page_not_found(e):
return "Page not found!", 404



نکات مهم
- Flask: یک فریم‌ورک کوچک و منعطف برای توسعه وب با پایتون است.
- نصب و راه‌اندازی: با استفاده از pip نصب شده و به راحتی قابل راه‌اندازی است.
- مسیریابی: هدایت درخواست‌ها به توابع مختلف با استفاده از decorators.
- قالب‌ها: ایجاد صفحات HTML دینامیک با استفاده از Jinja2.
- دریافت ورودی: استفاده از فرم‌ها برای دریافت داده از کاربر.
- مدیریت خطاها و ریدایرکت‌ها: مدیریت درخواست‌های نادرست و هدایت کاربران به صفحات موردنظر.

با این آموزش، شما می‌توانید یک برنامه وب ساده با Flask ایجاد کنید و آن را به مرور زمان گسترش دهید. موفق باشید! 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#پایتون #آموزش_پایتون #Flask #توسعه_وب #PythonWebDevelopment #PythonProgramming
- نصب و راه‌اندازی: با استفاده از pip نصب شده و به راحتی قابل راه‌اندازی است.
- مدل‌ها: برای تعریف ساختار داده‌ها و تعامل با پایگاه داده استفاده می‌شوند.
- ویوها و URLها: برای پردازش درخواست‌ها و هدایت آن‌ها به توابع مناسب استفاده می‌شوند.
- قالب‌ها: برای ایجاد صفحات HTML دینامیک با استفاده از Django Template Language.

با این آموزش، شما می‌توانید یک برنامه وب ساده با Django ایجاد کنید و آن را به مرور زمان گسترش دهید. موفق باشید! 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#پایتون #آموزش_پایتون #Django #توسعه_وب #PythonWebDevelopment #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100

پارت ۲۱: معرفی Pandas برای تحلیل داده‌ها 📊

در این پارت با کتابخانه قدرتمند Pandas آشنا می‌شویم و یاد می‌گیریم چگونه از این ابزار برای تحلیل و پردازش داده‌ها استفاده کنیم.

۱. Pandas چیست؟ 🤔
Pandas یک کتابخانه متن‌باز برای زبان برنامه‌نویسی پایتون است که برای کار با داده‌های ساختاریافته و جدول‌بندی‌شده به کار می‌رود. این کتابخانه ابزارهای متنوعی برای خواندن، نوشتن، پردازش و تحلیل داده‌ها فراهم می‌کند.

۲. نصب Pandas 🛠️

برای نصب Pandas از pip استفاده می‌کنیم:

pip install pandas

۳. ایجاد و کار با سری‌ها (Series) 📝

سری‌ها، ساختارهای داده‌ای یک‌بعدی در Pandas هستند. یک سری را می‌توان به صورت یک ستون از یک جدول در نظر گرفت.

import pandas as pd

data = [1, 2, 3, 4, 5]
series = pd.Series(data)

print(series)

این کد:
- Pandas را ایمپورت می‌کند.
- یک لیست از داده‌ها ایجاد می‌کند.
- یک سری از داده‌ها ایجاد می‌کند و آن را چاپ می‌کند.

۴. ایجاد و کار با دیتا‌فریم‌ها (DataFrame) 📋

دیتافریم‌ها، ساختارهای داده‌ای دوبعدی در Pandas هستند که می‌توانند به صورت جداولی با ردیف‌ها و ستون‌ها در نظر گرفته شوند.

data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']
}

df = pd.DataFrame(data)

print(df)

این کد:
- یک دیکشنری از داده‌ها ایجاد می‌کند.
- یک دیتافریم از داده‌ها ایجاد می‌کند و آن را چاپ می‌کند.

۵. خواندن و نوشتن فایل‌های CSV 📄

Pandas ابزارهایی برای خواندن و نوشتن فایل‌های CSV فراهم می‌کند.

برای خواندن یک فایل CSV:

df = pd.read_csv('data.csv')

print(df.head())

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

df.to_csv('output.csv', index=False)

۶. فیلتر و مرتب‌سازی داده‌ها 🔍

Pandas ابزارهایی برای فیلتر و مرتب‌سازی داده‌ها فراهم می‌کند.

برای فیلتر کردن داده‌ها:

filtered_df = df[df['Age'] > 30]

print(filtered_df)

برای مرتب‌سازی داده‌ها:

sorted_df = df.sort_values(by='Age')

print(sorted_df)

۷. عملیات بر روی دیتافریم‌ها

Pandas امکان انجام عملیات‌های مختلف بر روی دیتافریم‌ها را فراهم می‌کند.

برای اضافه کردن یک ستون جدید:

df['Salary'] = [50000, 60000, 70000]

print(df)

برای حذف یک ستون:

df = df.drop(columns=['Salary'])

print(df)

۸. گروه‌بندی و تجمع داده‌ها 📊

Pandas ابزارهایی برای گروه‌بندی و تجمع داده‌ها فراهم می‌کند.

برای گروه‌بندی داده‌ها:

grouped_df = df.groupby('City').mean()

print(grouped_df)


نکات مهم
- Pandas: یک کتابخانه قدرتمند برای تحلیل داده‌ها در پایتون است.
- سری‌ها و دیتافریم‌ها: ساختارهای داده‌ای پایه‌ای برای کار با داده‌ها.
- خواندن و نوشتن فایل‌های CSV: ابزارهای Pandas برای کار با فایل‌های داده‌ای.
- فیلتر و مرتب‌سازی داده‌ها: امکانات Pandas برای جستجو و سازمان‌دهی داده‌ها.
- عملیات بر روی دیتافریم‌ها: افزودن، حذف و تغییر داده‌ها در دیتافریم‌ها.
- گروه‌بندی و تجمع داده‌ها: ابزارهای Pandas برای تحلیل‌های پیچیده‌تر داده‌ها.

با این آموزش، شما می‌توانید به راحتی داده‌ها را با استفاده از Pandas تحلیل و پردازش کنید. موفق باشید! 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#پایتون #آموزش_پایتون #Pandas #تحلیل_داده #PythonDataAnalysis #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100

پارت ۲۲: معرفی NumPy برای محاسبات علمی و عددی 🔢

در این پارت با کتابخانه قدرتمند NumPy آشنا می‌شویم و یاد می‌گیریم چگونه از این ابزار برای انجام محاسبات علمی و عددی استفاده کنیم.

۱. NumPy چیست؟ 🤔
NumPy (Numerical Python) یک کتابخانه متن‌باز برای زبان برنامه‌نویسی پایتون است که به‌طور خاص برای انجام محاسبات عددی و علمی توسعه یافته است. NumPy امکاناتی برای ایجاد و مدیریت آرایه‌ها، انجام عملیات ریاضی پیچیده و مدیریت داده‌های چندبعدی فراهم می‌کند.

۲. نصب NumPy 🛠️

برای نصب NumPy از pip استفاده می‌کنیم:

pip install numpy

۳. ایجاد و کار با آرایه‌ها (Arrays) 📝

آرایه‌ها ساختارهای داده‌ای پایه در NumPy هستند. یک آرایه را می‌توان به‌صورت یک لیست چندبعدی در نظر گرفت.

import numpy as np

# ایجاد یک آرایه یک‌بعدی
array_1d = np.array([1, 2, 3, 4, 5])

# ایجاد یک آرایه دوبعدی
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

print("آرایه یک‌بعدی:", array_1d)
print("آرایه دوبعدی:\n", array_2d)

۴. عملیات پایه‌ای بر روی آرایه‌ها

NumPy امکانات متنوعی برای انجام عملیات‌های ریاضی بر روی آرایه‌ها فراهم می‌کند.

# عملیات جمع
array_sum = array_1d + 10
print("جمع آرایه:", array_sum)

# عملیات ضرب
array_product = array_1d * 2
print("ضرب آرایه:", array_product)

۵. ایندکس‌گذاری و بُرش (Indexing and Slicing) 🔍

برای دسترسی به عناصر خاص در آرایه‌ها از ایندکس‌گذاری و بُرش استفاده می‌کنیم.

# دسترسی به عناصر خاص
print("عنصر اول آرایه یک‌بعدی:", array_1d[0])
print("عنصر اول آرایه دوبعدی:", array_2d[0, 0])

# برش آرایه‌ها
print("بُرش آرایه یک‌بعدی:", array_1d[1:4])
print("بُرش آرایه دوبعدی:\n", array_2d[:, 1:3])

۶. ایجاد آرایه‌های خاص 🛠️

NumPy امکاناتی برای ایجاد آرایه‌های خاص مانند آرایه‌های صفر، آرایه‌های یک و آرایه‌های با توزیع‌های مختلف فراهم می‌کند.

# ایجاد آرایه‌های صفر و یک
zeros_array = np.zeros((2, 3))
ones_array = np.ones((3, 3))

# ایجاد آرایه‌های با توزیع مختلف
random_array = np.random.rand(3, 3)

print("آرایه صفر:\n", zeros_array)
print("آرایه یک:\n", ones_array)
print("آرایه تصادفی:\n", random_array)

۷. توابع و عملیات ریاضی پیشرفته 📊

NumPy دارای مجموعه‌ای از توابع ریاضی پیشرفته برای انجام محاسبات پیچیده است.

# محاسبه میانگین و انحراف معیار
mean_value = np.mean(array_1d)
std_dev = np.std(array_1d)

# انجام عملیات ماتریسی
matrix_product = np.dot(array_2d, array_2d.T)

print("میانگین:", mean_value)
print("انحراف معیار:", std_dev)
print("ضرب ماتریسی:\n", matrix_product)

۸. تغییر شکل آرایه‌ها (Reshaping) 🔄

برای تغییر شکل آرایه‌ها و تبدیل آن‌ها به شکل‌های مختلف از توابع reshaping استفاده می‌کنیم.

reshaped_array = array_1d.reshape((5, 1))

print("آرایه تغییر شکل یافته:\n", reshaped_array)



نکات مهم
- NumPy: یک کتابخانه قدرتمند برای انجام محاسبات علمی و عددی در پایتون است.
- آرایه‌ها: ساختارهای داده‌ای پایه برای کار با داده‌های چندبعدی.
- عملیات ریاضی: امکان انجام عملیات‌های ریاضی پایه‌ای و پیشرفته بر روی آرایه‌ها.
- ایندکس‌گذاری و بُرش: دسترسی به عناصر و بخش‌های خاص آرایه‌ها.
- آرایه‌های خاص: ایجاد آرایه‌های صفر، یک و با توزیع‌های مختلف.
- توابع ریاضی پیشرفته: محاسبات پیچیده و عملیات ماتریسی.
- تغییر شکل آرایه‌ها: تغییر شکل و تبدیل آرایه‌ها به فرم‌های مختلف.

با این آموزش، شما می‌توانید به راحتی داده‌ها را با استفاده از NumPy تحلیل و پردازش کنید. موفق باشید! 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#پایتون #آموزش_پایتون #NumPy #محاسبات_علمی #PythonScientificComputing #PythonProgramming
📚 دوره آموزش پایتون از 0 تا 100

پارت ۲۳: پروژه نهایی - تحلیل داده‌ها 📊

در این پارت، از تمامی مفاهیمی که تا به حال آموخته‌ایم، برای انجام یک پروژه نهایی تحلیل داده‌ها استفاده می‌کنیم. هدف این پروژه، تحلیل یک مجموعه داده و استخراج اطلاعات مفید از آن است.

۱. انتخاب مجموعه داده 📂

ابتدا باید یک مجموعه داده مناسب انتخاب کنیم. برای این پروژه، از مجموعه داده معروف "Titanic" استفاده خواهیم کرد. این مجموعه داده شامل اطلاعاتی درباره مسافران کشتی تایتانیک است و می‌توانیم تحلیل‌های جالبی بر روی آن انجام دهیم.

۲. نصب کتابخانه‌های مورد نیاز 🛠️

برای انجام تحلیل داده‌ها، نیاز به نصب کتابخانه‌های Pandas و NumPy داریم. اگر قبلاً این کتابخانه‌ها را نصب نکرده‌اید، می‌توانید از طریق pip آن‌ها را نصب کنید:

pip install pandas numpy

۳. خواندن داده‌ها 📥

ابتدا مجموعه داده را با استفاده از Pandas وارد می‌کنیم:

import pandas as pd

# خواندن داده‌ها از فایل CSV
df = pd.read_csv('titanic.csv')

# نمایش چند ردیف اول از داده‌ها
print(df.head())

۴. بررسی اولیه داده‌ها 🔍

برای آشنایی بیشتر با داده‌ها، یک بررسی اولیه انجام می‌دهیم:

# نمایش اطلاعات کلی درباره داده‌ها
print(df.info())

# نمایش آمار توصیفی از داده‌ها
print(df.describe())

۵. تمیز کردن داده‌ها 🧹

برای انجام تحلیل‌های دقیق‌تر، نیاز به تمیز کردن داده‌ها داریم. این شامل پر کردن مقادیر گمشده و حذف داده‌های نامعتبر است.

# پر کردن مقادیر گمشده با میانگین ستون
df['Age'].fillna(df['Age'].mean(), inplace=True)

# حذف ردیف‌های با مقادیر گمشده در ستون Embarked
df.dropna(subset=['Embarked'], inplace=True)

۶. تحلیل داده‌ها 📊

حال که داده‌ها تمیز شده‌اند، می‌توانیم تحلیل‌های مختلفی بر روی آن‌ها انجام دهیم. به عنوان مثال، بررسی می‌کنیم چند درصد از مسافران زنده مانده‌اند.

# محاسبه درصد زنده‌مانده‌ها
survival_rate = df['Survived'].mean() * 100

print(f"درصد زنده‌مانده‌ها: {survival_rate:.2f}%")

۷. تحلیل گروهی داده‌ها 📋

یکی از ویژگی‌های مفید Pandas، امکان گروه‌بندی داده‌ها و انجام تحلیل‌های گروهی است. به عنوان مثال، بررسی می‌کنیم نرخ زنده‌ماندن برای گروه‌های سنی مختلف چگونه است.

# تعریف دسته‌های سنی
bins = [0, 12, 20, 40, 60, 80]
labels = ['کودک', 'نوجوان', 'جوان', 'میانسال', 'سالمند']
df['AgeGroup'] = pd.cut(df['Age'], bins=bins, labels=labels)

# محاسبه نرخ زنده‌ماندن برای هر گروه سنی
age_group_survival = df.groupby('AgeGroup')['Survived'].mean() * 100

print(age_group_survival)

۸. رسم نمودارها 📈

برای نمایش نتایج تحلیل‌ها، می‌توانیم از کتابخانه Matplotlib استفاده کنیم. اگر این کتابخانه را نصب ندارید، با استفاده از pip آن را نصب کنید:

pip install matplotlib

سپس می‌توانیم یک نمودار میله‌ای از نرخ زنده‌ماندن برای گروه‌های سنی مختلف رسم کنیم:

import matplotlib.pyplot as plt

# رسم نمودار میله‌ای
age_group_survival.plot(kind='bar')
plt.title('نرخ زنده‌ماندن برای گروه‌های سنی مختلف')
plt.xlabel('گروه سنی')
plt.ylabel('نرخ زنده‌ماندن (%)')
plt.show()



نکات مهم
- انتخاب مجموعه داده: استفاده از مجموعه داده Titanic.
- خواندن و بررسی داده‌ها: استفاده از Pandas برای خواندن و بررسی اولیه داده‌ها.
- تمیز کردن داده‌ها: پر کردن مقادیر گمشده و حذف داده‌های نامعتبر.
- تحلیل داده‌ها: انجام تحلیل‌های مختلف برای استخراج اطلاعات مفید.
- تحلیل گروهی داده‌ها: استفاده از گروه‌بندی برای تحلیل دقیق‌تر داده‌ها.
- رسم نمودارها: استفاده از Matplotlib برای نمایش بصری نتایج.

با این پروژه نهایی، شما قادر خواهید بود تحلیل داده‌ها را به طور کامل انجام دهید و نتایج خود را به صورت بصری نمایش دهید. موفق باشید! 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#پایتون #آموزش_پایتون #تحلیل_داده #پروژه_نهایی #PythonDataAnalysis #PythonProgramming