Skip to content

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:

  1. Load and inspect the data
  2. Calculate basic statistics
  3. Filter for high-value orders
  4. Group and aggregate by category
  5. 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 →