چرا باید Pandas یاد بگیری؟
خلاصهٔ کاملتر
نویسنده میگه مدتها Pandas رو فقط ابزار دانشمندای داده میدونست، ولی وقتی باهاش کار کرد دید خیلی از کارها رو سادهتر میکنه. تو این مقاله یه سناریوی واقعی مطرح میشه: یه نفر یه غرفه تو بازار داره و میخواد از روی دادهٔ خرید و فروش یه سالش بفهمه سودش چقدر بوده، سود هر ماه و هر محصول چنده، و از چی بیش از حد خریده.
برای سوال اول یعنی سود کل سال، روش پایتون خام اینه که روی هر ردیف CSV حلقه بزنی، مقدارها رو از رشته به عدد تبدیل کنی و سود هر ردیف رو حساب کنی. ولی با Pandas کافیه فایل رو بخونی و یه ستون جدید بسازی:
import pandas as pd
df = pd.read_csv('ledger.csv')
df['profit'] = (
df['num_sold'] * df['retail_price']
- df['num_purchased'] * df['wholesale_price']
)
print(f'Profit: ${df["profit"].sum():,.2f}')نکتهٔ جالبی که نویسنده اشاره میکنه اینه که اینجا اصلاً لازم نبود نوع دادهها رو دستی تبدیل کنی؛ Pandas خودش حدس میزنه قیمتها float و تعدادها int هستن. فقط ستون date رو بهشکل رشته میگیره که با پارامترهای parse_dates و date_format موقع خوندن فایل میشه درستش کرد.
برای سود ماهانه، تو پایتون خام باید با یه defaultdict و حلقه ماهبهماه جمع بزنی، ولی تو Pandas یه ستون ماه میسازی و با groupby و sum کار تمومه. نویسنده میگه قشنگیش اینه که با همین الگو میتونی خیلی راحت زاویهٔ دید رو عوض کنی، مثلاً سود بهتفکیک محصول رو با مرتبسازی بگیری.
مهمترین خروجی، گزارش «از چی زیادی خریدم» هست. اینجا داده رو همزمان روی produce و month گروهبندی میکنی و بعد فقط جفتهایی رو نگه میداری که سودشون منفی شده؛ یعنی محصولاتی که تو یه ماه اونقدر زیاد خریده شدن که ضرر دادن. نویسنده اشاره میکنه این فیلتر کردن دقیقاً معادل یه WHERE profit < 0 تو SQL هست.
نویسنده تأکید میکنه هدف این نیست که بگه همیشه به Pandas نیاز داری، بلکه میخواد نشون بده کجا میتونه جواب گرفتن از داده رو سادهتر کنه، گاهی حتی راحتتر از یه صفحهگسترده. برای کارایی مثل pivot table تو Google Sheets هم میشه به همون نتیجه رسید، ولی با Pandas با یه خط میتونی نمای کاملاً متفاوتی از داده بگیری.
نکات کلیدی:
- Pandas کارهای تکراری روی داده رو از حلقههای طولانی به چند خط خوانا تبدیل میکنه
- موقع خوندن CSV نوع ستونها رو خودکار حدس میزنه و نیاز به تبدیل دستی نیست
- با groupby و sum راحت میشه سود رو بهتفکیک ماه یا محصول دید
- فیلتر کردن داده تو Pandas معادل شرط WHERE تو SQL کار میکنه
- هدف مقاله اینه که بدونی کجا Pandas بهدردت میخوره، نه اینکه همیشه ازش استفاده کنی




