๐Ÿผ
Veb-sayt

Python va Pandas bilan ma'lumotlar tahlili: boshlang'ich qo'llanma

30.06.2025
โ† Barcha maqolalar

Bugungi raqamli dunyoda har bir biznes ulkan hajmdagi ma'lumotlarni ishlab chiqaradi: sotuv buyurtmalari, mijozlar ro'yxati, veb-sayt tashriflari va moliyaviy hisobotlar. Bu ma'lumotlarni Excel jadvalida qo'lda ko'rib chiqish minglab qatorlarga yetganda deyarli imkonsiz bo'lib qoladi. Aynan shu yerda Python dasturlash tili va uning Pandas kutubxonasi yordamga keladi, chunki ular katta hajmdagi ma'lumotni bir necha soniyada o'qib, tahlil qilib va xulosaga aylantirib beradi.

Pandas โ€” bu ochiq kodli, bepul kutubxona bo'lib, u Python'da jadval ko'rinishidagi ma'lumotlar bilan ishlashni soddalashtirish uchun maxsus yaratilgan. U data-analyst, dasturchi va ilmiy tadqiqotchilar orasida eng mashhur vositalardan biriga aylangan. Ushbu maqolada biz Pandas'ning asosiy tushunchalaridan boshlab, ma'lumot yuklash, tozalash, filtrlash va guruhlashgacha bo'lgan butun jarayonni real biznes misoli orqali bosqichma-bosqich ko'rib chiqamiz.

DataFrame va Series โ€” Pandas yuragi

Pandas ikkita asosiy ma'lumot tuzilmasiga tayanadi. Birinchisi โ€” Series, ya'ni bir o'lchovli ustun bo'lib, u indeks bilan birga keladigan qiymatlar ro'yxatini ifodalaydi. Ikkinchisi va eng muhimi โ€” DataFrame bo'lib, u Excel jadvaliga o'xshash, qator va ustunlardan iborat ikki o'lchovli tuzilmadir. Aslida DataFrame'ni bir nechta Series'ning birlashmasi sifatida tasavvur qilish mumkin, chunki uning har bir ustuni alohida Series hisoblanadi.

import pandas as pd

# Series yaratish
narxlar = pd.Series([1000, 2500, 1800], index=['kitob', 'qalam', 'daftar'])
print(narxlar)

# DataFrame yaratish
data = {
    'mahsulot': ['kitob', 'qalam', 'daftar'],
    'narx': [1000, 2500, 1800],
    'soni': [50, 120, 80]
}
df = pd.DataFrame(data)
print(df)

Ma'lumot yuklash: CSV va Excel

Amaliyotda ma'lumotlar ko'pincha tashqi fayllarda saqlanadi, eng keng tarqalganlari esa CSV va Excel formatlaridir. Pandas bunday fayllarni atigi bitta qator kod bilan o'qiy oladi va ularni darhol DataFrame'ga aylantiradi. Bu jarayon shu qadar soddaki, hatto minglab qatorli katta fayllar ham bir lahzada xotiraga yuklanadi va tahlilga tayyor bo'ladi.

# CSV faylni o'qish
df = pd.read_csv('sotuvlar.csv')

# Excel faylni o'qish
df = pd.read_excel('hisobot.xlsx', sheet_name='Yanvar')

# Birinchi 5 qatorni ko'rish
print(df.head())

# Umumiy ma'lumot
print(df.info())
print(df.describe())

Ma'lumotni tozalash: bo'sh qiymat va dublikatlar

Real hayotda yig'ilgan ma'lumotlar deyarli hech qachon mukammal bo'lmaydi, ularda bo'sh kataklar, takrorlangan qatorlar va xato qiymatlar uchraydi. Tahlil natijasi ishonchli bo'lishi uchun avval ushbu nuqsonlarni tozalash zarur, aks holda noto'g'ri xulosalarga kelib qolish ehtimoli yuqori. Pandas bo'sh qiymatlarni topish, o'chirish yoki o'rniga o'rtacha qiymat qo'yish hamda dublikatlarni yo'qotish uchun qulay vositalarni taqdim etadi.

# Bo'sh qiymatlarni tekshirish
print(df.isnull().sum())

# Bo'sh qiymatli qatorlarni o'chirish
df = df.dropna()

# Bo'sh qiymatni o'rtacha bilan to'ldirish
df['narx'] = df['narx'].fillna(df['narx'].mean())

# Dublikatlarni o'chirish
df = df.drop_duplicates()

Filtrlash, saralash va guruhlash

Ma'lumot tozalangach, undan kerakli qismni ajratib olish vaqti keladi. Filtrlash orqali biz faqat ma'lum shartga javob beradigan qatorlarni, masalan narxi ma'lum summadan yuqori mahsulotlarni tanlab olamiz. Saralash esa ma'lumotni o'sish yoki kamayish tartibida joylashtiradi, guruhlash (groupby) esa o'xshash qatorlarni birlashtirib, har bir guruh bo'yicha umumiy ko'rsatkichlarni hisoblashga imkon beradi.

# Filtrlash: narxi 1500 dan yuqori mahsulotlar
qimmat = df[df['narx'] > 1500]

# Saralash: narx bo'yicha kamayish tartibida
df_sorted = df.sort_values('narx', ascending=False)

# Guruhlash: har bir kategoriya bo'yicha jami sotuv
jami = df.groupby('kategoriya')['summa'].sum()
print(jami)

Jadvallarni birlashtirish: merge

Ko'pincha kerakli ma'lumot bir nechta alohida jadvalga tarqalgan bo'ladi, masalan buyurtmalar bir faylda, mijozlar haqidagi tafsilotlar esa boshqasida saqlanadi. Pandas'ning merge funksiyasi xuddi SQL ma'lumotlar bazasidagi JOIN amaliyoti kabi ushbu jadvallarni umumiy ustun orqali bir-biriga ulaydi. Bu sizga to'liq manzarani ko'rish va ma'lumotlar o'rtasidagi bog'liqlikni aniqlash imkonini beradi.

# Ikki jadvalni mijoz ID bo'yicha birlashtirish
natija = pd.merge(buyurtmalar, mijozlar, on='mijoz_id', how='left')
print(natija.head())

Real biznes misoli: do'kon sotuvlari tahlili

Endi o'rganganlarimizni bir butun real misolda jamlaymiz. Tasavvur qiling, sizda onlayn do'konning bir oylik sotuv ma'lumotlari bor va siz qaysi mahsulot toifasi eng ko'p daromad keltirganini, hamda eng faol mijozlarni aniqlamoqchisiz. Quyidagi kod ma'lumotni yuklaydi, tozalaydi va kategoriya bo'yicha umumiy daromadni hisoblab, eng yaxshi natijani ko'rsatadi.

df = pd.read_csv('sotuvlar.csv')
df = df.dropna().drop_duplicates()

# Har bir buyurtmaning umumiy summasini hisoblash
df['summa'] = df['narx'] * df['soni']

# Kategoriya bo'yicha jami daromad
daromad = df.groupby('kategoriya')['summa'].sum().sort_values(ascending=False)
print("Eng daromadli toifa:", daromad.index[0])
print(daromad)

# Eng faol 5 mijoz
top_mijozlar = df.groupby('mijoz')['summa'].sum().nlargest(5)
print(top_mijozlar)

Vizualizatsiya haqida qisqacha

Raqamlar jadvalda muhim bo'lsa-da, ularni grafik ko'rinishida ko'rsatish xulosalarni ancha tushunarli qiladi. Pandas Matplotlib kutubxonasi bilan chambarchas ishlaydi va deyarli har qanday DataFrame'ni bir qator kod bilan diagrammaga aylantira oladi. Masalan, sotuvlar dinamikasini chiziqli grafikda yoki kategoriyalar ulushini ustunli diagrammada ko'rsatish mumkin.

import matplotlib.pyplot as plt

# Kategoriya bo'yicha daromad diagrammasi
daromad.plot(kind='bar', title='Toifalar bo\'yicha daromad')
plt.ylabel('Summa')
plt.tight_layout()
plt.savefig('daromad.png')

Pandas โ€” bu zamonaviy ma'lumot tahlilining poydevori bo'lib, uni o'rganish boshlovchi dasturchi yoki data-analyst uchun eng foydali sarmoyalardan biridir. Bugun ko'rib chiqqan asosiy tushunchalar โ€” DataFrame, tozalash, guruhlash va birlashtirish โ€” amaliy ishlarning katta qismini qamrab oladi. Kichik fayllar bilan mashq qilishni boshlang, asta-sekin murakkabroq vazifalarga o'ting va tez orada ma'lumotlardan haqiqiy biznes qarorlari chiqarish ko'nikmasiga ega bo'lasiz.

O'xshash maqolalar

๐ŸŒพ Qishloq xo'jaligi va agrobiznes sayti: mahsulotlar katalogi va B2B sotuv โค๏ธ Xayriya fondi sayti: shaffof xayriya yig'ish va donator ishonchi ๐ŸŽ‰ Toyxona va banket zali sayti: tadbir tashkil qilish va onlayn bron qilish ๐Ÿš™ Avtoulov ijarasi sayti: avtomobil katalog, narx kalkulyatori va onlayn bron
๐ŸŒ Til
๐Ÿ‡บ๐Ÿ‡ฟ O'zbek โœ“ ๐Ÿ‡บ๐Ÿ‡ฟ ะŽะทะฑะตะบ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฌ๐Ÿ‡ง English