ذخیره سازی داده ها در Excel با پایتون
🟢ذخیرهسازی دادهها در Excel با استفاده از pandas
🧩پکیج های موردنیاز
ابتدا باید اطمینان حاصل کنید که pandas و openpyxl (به عنوان یک کتابخانه مورد نیاز برای نوشتن به فایلهای Excel) نصب شدهاند.
میتوانید این پکیجها را با استفاده از pip نصب کنید:
pip install pandas openpyxl
توضیحات دقیق در رابطه با نحوه نصب کتابخانه ها
👇 کد:
import pandas as pd
data = [[19.50, 17.25, 16.75, 19],
[12, 18.25, 15.50, 15],
[19, 20, 18.25, 1775]]
df = pd.DataFrame(data, index=['Radvin', 'Ramin', 'Rasta'],
columns=['physic', 'chemistry', 'math', 'literature'])
with pd.ExcelWriter('U_M.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='U2M')
x = pd.read_excel('pandas_simple.xlsx', index_col=0)
print(x)
🧩تحلیل قطعه کد بالا
1. وارد کردن کتابخانه pandas
import pandas as pd
در این خط، کتابخانه pandas به عنوان pd وارد شده است. این کتابخانه برای کار با دادهها، بهویژه جداول و دیتافریمها، استفاده میشود.
2. تعریف دادهها
data = [[19.50, 17.25, 16.75, 19],
[12, 18.25, 15.50, 15],
[19, 20, 18.25, 17.75]]
در این بخش، یک لیست از لیستها تعریف شده است که نمایانگر نمرات دانشآموزان در چهار موضوع مختلف است. هر زیر لیست نمایانگر نمرات یک دانشآموز در چهار درس است.
3. ایجاد DataFrame
df = pd.DataFrame(data, index=['Radvin', 'Ramin', 'Rasta'],
columns=['physic', 'chemistry', 'math', 'literature'])
اینجا یک DataFrame با استفاده از دادههای تعریف شده ایجاد میشود. نامهای دانشآموزان به عنوان ایندکس و نام دروس به عنوان ستونها تنظیم میشوند. به این ترتیب، DataFrame به شکل زیر خواهد بود:
physic chemistry math literature
Radvin 19.50 17.25 16.75 19.00
Ramin 12.00 18.25 15.50 15.00
Rasta 19.00 20.00 18.25 17.75
4. ذخیره DataFrame به فایل Excel
with pd.ExcelWriter('U_M.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='U2M')
در این خط، با استفاده از pd.ExcelWriter، DataFrame به یک فایل Excel با نام U_M.xlsx ذخیره میشود. engine='xlsxwriter' مشخص میکند که از کتابخانه xlsxwriter برای ایجاد فایل Excel استفاده شود. جدول در ورق (sheet) به نام U2M ذخیره میشود.
5. خواندن دادهها از فایل Excel
x = pd.read_excel('pandas_simple.xlsx', index_col=0)
در این بخش، با استفاده از pd.read_excel دادهها از فایلی به نام pandas_simple.xlsx خوانده میشوند. پارامتر index_col=0 مشخص میکند که اولین ستون به عنوان ایندکس DataFrame در نظر گرفته شود.
6. چاپ DataFrame خوانده شده
print(x)
در نهایت، محتویات DataFrame خوانده شده از فایل pandas_simple.xlsx چاپ میشود.
🧩خلاصه
این کد ابتدا یک DataFrame از نمرات دانشآموزان ایجاد کرده و آن را در یک فایل Excel ذخیره میکند.
سپس از یک فایل Excel دیگر به نام pandas_simple.xlsx دادهها را میخواند و آنها را چاپ میکند.
توجه داشته باشید که نام فایل pandas_simple.xlsx باید به درستی موجود باشد؛ در غیر این صورت، اگر فایلی با این نام وجود نداشته باشد، خطا نمایش داده خواهد شد.
#بدانیم | #تحلیل_کد | #pandas | آموزش پایتوناین یک برنامه ساده به نام مدیریت مالی شخصی است که به کاربران امکان میدهد درآمدها و هزینههای خود را ثبت و مدیریت کنند.
این برنامه از کتابخانههای pandas برای مدیریت دادهها و matplotlib برای ایجاد گزارشهای تصویری استفاده میکند. در ادامه، توضیحات مربوط به کد آورده شده است:👇
#matplotlib | #pandas | learnpythonicy
✔️ طبقهبندی سرطان پستان با PCA و رگرسیون لجستیک
این کد در دو مرحله، طبقهبندی روی دادههای سرطان پستان انجام میدهد:
⤵️ مرحله اول
1. دادههای سرطان پستان از sklearn بارگیری میشود.
2. دادهها به مجموعههای آموزش و آزمون تقسیم میشوند.
3. یک مدل رگرسیون لجستیک آموزش داده میشود.
4. دقت مدل روی دادههای آموزش و آزمون محاسبه و چاپ میشود.
⤵️ مرحله دوم
1. همان دادهها با StandardScaler نرمالسازی میشوند.
2. با استفاده از PCA بعد دادهها به 2 مولفه اصلی کاهش مییابد.
3. مجدداً دادهها تقسیم و مدل رگرسیون لجستیک آموزش داده میشود.
4. دقت مدل جدید محاسبه و چاپ میشود.
هدف مقایسه عملکرد مدل قبل و بعد از کاهش ابعاد با PCA است. این کد معمولاً برای نمایش تأثیر پیشپردازش داده و کاهش ابعاد بر عملکرد مدلهای یادگیری ماشین استفاده میشود.
👇کد پست بعدی
#pandas | #sklearn | #load_breast_cancer | @LearnPythonIcy
✔️ پیشبینی قیمت خانه با استفاده از رگرسیون خطی در پایتون
در این پروژه:
🌻 دادههای مربوط به متراژ، تعداد اتاق، پارکینگ، انباری، آسانسور و آدرس بررسی شده
🌻 دادهها پیشپردازش شدن
🌻 مدل آموزش دیده و ارزیابی شده (با MSE و R²)
👈 یه مثال ساده و کاربردی برای یادگیری رگرسیون در یادگیری ماشین
📎 سورس کامل پروژه در گیتهاب:
https://github.com/ArefehKabiri/housePrice/tree/main
#sklearn | #pandas | #LinearRegression | @LearnPythonIcy
✔️ اگه تازهکاری تو یادگیری ماشین یا میخوای Logistic Regression رو عملی یاد بگیری، این پروژه رو از دست نده.
🌼 دیتا پیشپردازش شده
🌼 مدل آموزش دیده
🌼 نتایج ارزیابی شده
📎 سورس کامل پروژه در گیتهاب:
https://github.com/ArefehKabiri/titanicLogisticRegression/tree/main
#sklearn | #pandas | #LogisticRegression | @LearnPythonIcy
✔️ مدیریت فایلها در پایتون با ۷ روش حرفهای!
برای کار با فایلها در پایتون، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ باز کردن و خواندن فایل
with open('file.txt', 'r') as f:
content = f.read()
print(content)
2️⃣ نوشتن در فایل
with open('file.txt', 'w') as f:
f.write("سلام دنیا!")
3️⃣ افزودن به فایل
with open('file.txt', 'a') as f:
f.write("\nخط جدید")
4️⃣ خواندن خط به خط
with open('file.txt', 'r') as f:
for line in f:
print(line.strip())
5️⃣ بررسی وجود فایل
import os print(os.path.exists('file.txt')) # True یا False6️⃣ حذف فایل
import os os.remove('file.txt')7️⃣ مدیریت مسیرها با pathlib
from pathlib import Path
path = Path('file.txt')
print(path.exists())
print(path.read_text())
🗝 روش ویژه: خواندن و نوشتن فایلهای CSV با pandas
import pandas as pd df = pd.read_csv('data.csv') print(df.head()) df.to_csv('output.csv', index=False)نکات طلایی * همیشه از
withبرای مدیریت فایل استفاده کنید * برای مسیرهای پیچیده از
pathlibکمک بگیرید * برای دادههای جدولی از
pandasبهره ببرید #PythonMagic | #FileHandling | #pathlib | #pandas | @learnpythonic > *برای ذخیرهسازی، تحلیل داده و اتوماسیون کاربرد دارد*
آموزش پایتون
دیتاستی که میتونید ازش استفاده کنید. روز 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
آموزش پایتون
🔥 چالش ۳۰ روزه 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