Data Analysis Example — ڈیٹا تجزیہ
A complete walkthrough of loading a CSV file, computing statistics, filtering rows, transforming data, and exporting the results to Excel — all using the اردو/ذہین library.
اردو: ایک مکمل رہنما جو CSV فائل لوڈ کرنے، اعداد و شمار حاصل کرنے، قطاریں فلٹر کرنے، ڈیٹا تبدیل کرنے، اور نتائج کو Excel میں برآمد کرنے کا طریقہ بتاتا ہے — یہ سب
اردو/ذہینلائبریری استعمال کر کے کیا جاتا ہے۔
Scenario — منظر نامہ
We have a CSV file فروخت.csv containing monthly sales records for an e-commerce store. We want to:
- Load and inspect the data
- Calculate basic statistics
- Filter for high-value orders
- Group and aggregate by category
- Save the cleaned results to an Excel report
اردو: ہمارے پاس ایک CSV فائل
فروخت.csvہے جس میں ایک ای-کامرس اسٹور کے ماہانہ فروخت کے ریکارڈ موجود ہیں۔ ہم چاہتے ہیں: ڈیٹا لوڈ اور معائنہ کریں، بنیادی اعداد و شمار حاصل کریں، زیادہ قیمت والے آرڈروں کو فلٹر کریں، زمرہ کے مطابق گروپ اور جمع کریں، اور صاف شدہ نتائج کو Excel رپورٹ میں محفوظ کریں۔
Sample CSV file — فروخت.csv
آرڈر_id,تاریخ,زمرہ,مصنوع,مقدار,قیمت_فی_اکائی,فروخت_کنندہ,شہر
1,2026-01-05,الیکٹرونکس,موبائل فون,2,45000,احمد,کراچی
2,2026-01-07,لباس,شرٹ,5,1200,فاطمہ,لاہور
3,2026-01-10,الیکٹرونکس,لیپ ٹاپ,1,85000,علی,اسلام آباد
4,2026-01-12,کتابیں,اردو ناول,3,500,زینب,کراچی
5,2026-01-15,لباس,پاجامہ,8,800,احمد,پشاور
6,2026-01-18,الیکٹرونکس,ہیڈ فون,4,3500,فاطمہ,کراچی
7,2026-01-20,کتابیں,انگریزی گرامر,2,700,حسن,لاہور
8,2026-01-22,الیکٹرونکس,ٹیبلیٹ,1,35000,علی,کراچی
Complete Analysis Program — مکمل تجزیاتی پروگرام
اردو: درج ذیل پروگرام فروخت کے ڈیٹا کا مکمل تجزیہ کرتا ہے۔ ہر مرحلہ الگ طور پر ڈیٹا کو پروسیس کرتا ہے اور نتائج پرنٹ کرتا ہے۔
درآمد { پانڈاز, نمپائی } سے "اردو/ذہین"
// ═══════════════════════════════════════════════════
// فروخت ڈیٹا تجزیہ — مکمل مثال
// ═══════════════════════════════════════════════════
متغیر pd = نیا پانڈاز()
متغیر np = نیا نمپائی()
// ══════════════════════════════════════════
// مرحلہ 1: CSV لوڈ کریں
// ══════════════════════════════════════════
لکھو("=" * 55)
لکھو(" مرحلہ 1: ڈیٹا لوڈ کرنا")
لکھو("=" * 55)
متغیر df = pd.csv_پڑھو("فروخت.csv")
لکھو("ڈیٹا فریم شکل:", df.shape)
لکھو("کالمز:", df.columns)
لکھو()
لکھو("پہلی 3 قطاریں:")
لکھو(df.head(3))
لکھو()
// خالی قدریں جانچیں
متغیر خالی_تعداد = df.isnull().sum()
لکھو("خالی قدریں:")
لکھو(خالی_تعداد)
// ══════════════════════════════════════════
// مرحلہ 2: نئے کالم بنائیں
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" مرحلہ 2: نئے کالم")
لکھو("=" * 55)
// کل فروخت = مقدار × قیمت فی اکائی
df["کل_فروخت"] = df["مقدار"] * df["قیمت_فی_اکائی"]
// فروخت کا زمرہ (کم / درمیانی / زیادہ)
فنکشن فروخت_زمرہ(قدر) {
اگر (قدر < 5000) { واپس "کم" }
ورنہ_اگر (قدر < 50000) { واپس "درمیانی" }
ورنہ { واپس "زیادہ" }
}
df["فروخت_زمرہ"] = df["کل_فروخت"].apply(فروخت_زمرہ)
لکھو("کل فروخت کالم شامل کیا:")
لکھو(df[["آرڈر_id", "مصنوع", "مقدار", "قیمت_فی_اکائی", "کل_فروخت", "فروخت_زمرہ"]])
// ══════════════════════════════════════════
// مرحلہ 3: بنیادی اعداد و شمار
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" مرحلہ 3: بنیادی اعداد و شمار")
لکھو("=" * 55)
// عددی کالموں کا خلاصہ
لکھو("مکمل خلاصہ:")
لکھو(df.describe())
لکھو()
لکھو("─" * 40)
لکھو("کل_فروخت کالم کی تفصیل:")
لکھو(` اوسط فروخت: ${df["کل_فروخت"].mean().toFixed(0)} روپے`)
لکھو(` زیادہ سے زیادہ: ${df["کل_فروخت"].max().toFixed(0)} روپے`)
لکھو(` کم سے کم: ${df["کل_فروخت"].min().toFixed(0)} روپے`)
لکھو(` مجموعی فروخت: ${df["کل_فروخت"].sum().toFixed(0)} روپے`)
لکھو(` درمیانی قدر: ${df["کل_فروخت"].median().toFixed(0)} روپے`)
لکھو(` معیاری انحراف: ${df["کل_فروخت"].std().toFixed(0)} روپے`)
لکھو()
لکھو("مقدار کالم:")
لکھو(` اوسط مقدار: ${df["مقدار"].mean().toFixed(1)} اکائیاں`)
لکھو(` کل فروخت شدہ: ${df["مقدار"].sum()} اکائیاں`)
// ══════════════════════════════════════════
// مرحلہ 4: فلٹرنگ
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" مرحلہ 4: ڈیٹا فلٹر کرنا")
لکھو("=" * 55)
// فلٹر 1: 10,000 سے زیادہ فروخت
متغیر بڑی_فروخت = df[df["کل_فروخت"] > 10000]
لکھو(`10,000+ روپے کے آرڈر: ${بڑی_فروخت.shape[0]}`)
لکھو(بڑی_فروخت[["آرڈر_id", "مصنوع", "کل_فروخت"]])
// فلٹر 2: الیکٹرونکس زمرہ
متغیر الیکٹرونکس = df[df["زمرہ"] == "الیکٹرونکس"]
لکھو(`\nالیکٹرونکس آرڈر: ${الیکٹرونکس.shape[0]}`)
لکھو(الیکٹرونکس[["مصنوع", "مقدار", "کل_فروخت"]])
// فلٹر 3: کراچی سے آرڈر
متغیر کراچی_آرڈر = df[df["شہر"] == "کراچی"]
لکھو(`\nکراچی کے آرڈر: ${کراچی_آرڈر.shape[0]}`)
لکھو(`کراچی مجموعی فروخت: ${کراچی_آرڈر["کل_فروخت"].sum().toFixed(0)} روپے`)
// فلٹر 4: متعدد شرطیں
متغیر الیکٹرونکس_کراچی = df[
(df["زمرہ"] == "الیکٹرونکس") &
(df["شہر"] == "کراچی")
]
لکھو(`\nکراچی الیکٹرونکس: ${الیکٹرونکس_کراچی.shape[0]} آرڈر`)
// ══════════════════════════════════════════
// مرحلہ 5: گروپ بندی اور جمع
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" مرحلہ 5: زمرہ وار تجزیہ")
لکھو("=" * 55)
// زمرہ وار مجموعی فروخت
متغیر زمرہ_فروخت = df.groupby("زمرہ")["کل_فروخت"].agg(["sum", "mean", "count"])
زمرہ_فروخت.columns = ["مجموعی", "اوسط", "تعداد"]
زمرہ_فروخت = زمرہ_فروخت.sort_values("مجموعی", ascending=جھوٹ)
لکھو("زمرہ وار نتائج:")
لکھو(زمرہ_فروخت)
لکھو()
// شہر وار تجزیہ
متغیر شہر_فروخت = df.groupby("شہر")["کل_فروخت"].sum().sort_values(ascending=جھوٹ)
لکھو("شہر وار مجموعی فروخت:")
کے_لیے (متغیر [شہر, رقم] کا شہر_فروخت.items()) {
متغیر بار = "█" * عدد_صحیح(رقم / 5000)
لکھو(` ${شہر.ljust(15)} ${بار} ${رقم.toFixed(0)}`)
}
// فروخت کنندہ کا تجزیہ
متغیر بہترین_فروخت_کنندہ = df.groupby("فروخت_کنندہ")["کل_فروخت"].sum().idxmax()
متغیر بہترین_رقم = df.groupby("فروخت_کنندہ")["کل_فروخت"].sum().max()
لکھو(`\nبہترین فروخت کنندہ: ${بہترین_فروخت_کنندہ} (${بہترین_رقم.toFixed(0)} روپے)`)
// ══════════════════════════════════════════
// مرحلہ 6: NumPy حسابات
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" مرحلہ 6: NumPy تجزیہ")
لکھو("=" * 55)
متغیر فروخت_سرنی = np.سرنی(df["کل_فروخت"].values.tolist())
لکھو("NumPy تجزیہ:")
لکھو(` مجموع: ${np.مجموع(فروخت_سرنی).toFixed(0)}`)
لکھو(` اوسط: ${np.اوسط(فروخت_سرنی).toFixed(0)}`)
لکھو(` زیادہ: ${np.زیادہ(فروخت_سرنی).toFixed(0)}`)
لکھو(` کم: ${np.کم(فروخت_سرنی).toFixed(0)}`)
// لوگاریتھم (مالیاتی تجزیہ میں استعمال)
متغیر لاگ_فروخت = np.لاگ(فروخت_سرنی)
لکھو(` لاگ اوسط: ${np.اوسط(لاگ_فروخت).toFixed(2)}`)
// فروخت کو 0-1 کے درمیان معمول بنائیں
متغیر کم_قدر = np.کم(فروخت_سرنی)
متغیر زیادہ_قدر = np.زیادہ(فروخت_سرنی)
متغیر معمول = (فروخت_سرنی - کم_قدر) / (زیادہ_قدر - کم_قدر)
لکھو(` معمول شدہ (پہلا 3): ${معمول[0:3]}`)
// ══════════════════════════════════════════
// مرحلہ 7: Excel رپورٹ محفوظ کریں
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" مرحلہ 7: Excel رپورٹ")
لکھو("=" * 55)
// مکمل ڈیٹا شیٹ
pd.excel_لکھو(df, "فروخت_رپورٹ.xlsx")
لکھو("فروخت_رپورٹ.xlsx محفوظ ہو گئی")
// ExcelWriter سے متعدد شیٹس
درآمد { ایکسل_کتاب } سے "اردو/فائلیں"
متغیر wb = نیا ایکسل_کتاب()
// ─── شیٹ 1: مکمل ڈیٹا ──────────────────────────
متغیر ws1 = wb.ورق_بنائیں("مکمل_ڈیٹا")
متغیر ہیڈرز_1 = df.columns.tolist()
ws1.قطار_شامل(ہیڈرز_1)
کے_لیے (متغیر قطار کا df.values.tolist()) {
ws1.قطار_شامل(قطار)
}
// ─── شیٹ 2: زمرہ خلاصہ ──────────────────────────
متغیر ws2 = wb.ورق_بنائیں("زمرہ_خلاصہ")
ws2.قطار_شامل(["زمرہ", "مجموعی_فروخت", "اوسط_فروخت", "آرڈر_تعداد"])
کے_لیے (متغیر [زمرہ, قطار] کا زمرہ_فروخت.iterrows()) {
ws2.قطار_شامل([زمرہ, قطار["مجموعی"], قطار["اوسط"], قطار["تعداد"]])
}
// ─── شیٹ 3: شہر خلاصہ ───────────────────────────
متغیر ws3 = wb.ورق_بنائیں("شہر_خلاصہ")
ws3.قطار_شامل(["شہر", "مجموعی_فروخت"])
کے_لیے (متغیر [شہر, رقم] کا شہر_فروخت.items()) {
ws3.قطار_شامل([شہر, رقم])
}
// ─── شیٹ 4: بڑی فروخت ──────────────────────────
متغیر ws4 = wb.ورق_بنائیں("بڑی_فروخت")
ws4.قطار_شامل(بڑی_فروخت.columns.tolist())
کے_لیے (متغیر قطار کا بڑی_فروخت.values.tolist()) {
ws4.قطار_شامل(قطار)
}
wb.محفوظ("مکمل_فروخت_رپورٹ.xlsx")
wb.بند()
لکھو("مکمل_فروخت_رپورٹ.xlsx (4 شیٹس) محفوظ ہو گئی")
// ══════════════════════════════════════════
// خلاصہ
// ══════════════════════════════════════════
لکھو()
لکھو("=" * 55)
لکھو(" حتمی خلاصہ")
لکھو("=" * 55)
لکھو(` کل آرڈر: ${df.shape[0]}`)
لکھو(` کل فروخت: ${df["کل_فروخت"].sum().toFixed(0)} روپے`)
لکھو(` اوسط آرڈر قدر: ${df["کل_فروخت"].mean().toFixed(0)} روپے`)
لکھو(` سب سے بڑا آرڈر: ${df["کل_فروخت"].max().toFixed(0)} روپے`)
لکھو(` سب سے چھوٹا آرڈر: ${df["کل_فروخت"].min().toFixed(0)} روپے`)
لکھو(` کل فروخت شدہ: ${df["مقدار"].sum()} اکائیاں`)
لکھو(` بہترین زمرہ: ${زمرہ_فروخت.index[0]}`)
لکھو(` بہترین فروخت کنندہ: ${بہترین_فروخت_کنندہ}`)
لکھو("=" * 55)
لکھو("تجزیہ مکمل — رپورٹیں محفوظ ہو گئیں")
Expected Output — متوقع آؤٹ پٹ
اردو: پروگرام چلانے پر درج ذیل جیسا آؤٹ پٹ ظاہر ہوگا۔ حتمی خلاصہ میں تمام آرڈروں کی مجموعی فروخت، اوسط قدر، اور بہترین فروخت کنندہ دکھائے جاتے ہیں۔
=======================================================
مرحلہ 1: ڈیٹا لوڈ کرنا
=======================================================
ڈیٹا فریم شکل: [8, 8]
کالمز: ["آرڈر_id", "تاریخ", "زمرہ", "مصنوع", "مقدار", "قیمت_فی_اکائی", "فروخت_کنندہ", "شہر"]
پہلی 3 قطاریں:
آرڈر_id تاریخ زمرہ مصنوع مقدار قیمت_فی_اکائی
0 1 2026-01-05 الیکٹرونکس موبائل فون 2 45000
1 2 2026-01-07 لباس شرٹ 5 1200
2 3 2026-01-10 الیکٹرونکس لیپ ٹاپ 1 85000
...
=======================================================
حتمی خلاصہ
=======================================================
کل آرڈر: 8
کل فروخت: 267100 روپے
اوسط آرڈر قدر: 33388 روپے
سب سے بڑا آرڈر: 85000 روپے
سب سے چھوٹا آرڈر: 1500 روپے
کل فروخت شدہ: 26 اکائیاں
بہترین زمرہ: الیکٹرونکس
بہترین فروخت کنندہ: علی
=======================================================
تجزیہ مکمل — رپورٹیں محفوظ ہو گئیں
Key concepts covered — اہم تصورات
اردو: درج ذیل جدول میں استعمال شدہ اہم تصورات اور ان کا کوڈ دکھایا گیا ہے۔
| Concept | Code used |
|---|---|
| Load CSV | pd.csv_پڑھو("فروخت.csv") |
| New column from calculation | df["کل_فروخت"] = df["مقدار"] * df["قیمت_فی_اکائی"] |
| Apply a function to column | df["فروخت_زمرہ"] = df["کل_فروخت"].apply(فنکشن) |
| Summary statistics | df.describe(), .mean(), .max(), .min(), .sum(), .std() |
| Filter rows | df[df["زمرہ"] == "الیکٹرونکس"] |
| Multiple filter conditions | df[(شرط1) & (شرط2)] |
| Group and aggregate | df.groupby("زمرہ")["کل_فروخت"].agg([...]) |
| Sort | .sort_values("کالم", ascending=جھوٹ) |
| NumPy array ops | np.مجموع(), np.اوسط(), np.لاگ() |
| Save Excel | pd.excel_لکھو(df, "رپورٹ.xlsx") |
| Multi-sheet Excel | ایکسل_کتاب, ورق_بنائیں(), قطار_شامل() |
Previous: Web Server → | Next: Web Scraping →