Python dasturlash tili kutubxonalari bilan sun’iy intellekt tizimlarini ishlab chiqish. Pandas kutubxonasi
![Python dasturlash tili kutubxonalari bilan sun’iy intellekt tizimlarini
ishlab chiqish. Pandas kutubxonasi .
Reja:
1. Pandas
2. Series ma’lumotlar tuzilmasi
3. DataFrame ma’lumotlar tuzilmasi](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_1.png)
![Pandas - bu ochiq manbali kutubxona bo'lib, u asosan aloqador yoki
etiketli ma'lumotlar bilan oson va intuitiv tarzda ishlash uchun yaratilgan. U
turli xil ma'lumotlar tuzilmalari va raqamli ma'lumotlar va vaqt seriyalarini
manipulyatsiya qilish uchun operatsiyalarni taqdim etadi. Bu kutubxona
NumPy kutubxonasi ustiga qurilgan. Pandas tez va u foydalanuvchilar uchun
yuqori unumdorlikka ega.
Pandas kutubxonasi afzalliklari:
Ma'lumotlarni manipulyatsiya qilish va tahlil qilish uchun tez va
samarali.
Turli fayl ob'ektlaridan ma'lumotlarni yuklash mumkin.
Suzuvchi nuqtada etishmayotgan ma'lumotlarni (NaN sifatida
ko'rsatilgan) va suzuvchi nuqta ma'lumotlarini oson boshqarish
Hajmi o'zgaruvchanligi: ustunlarni DataFrame va undan yuqori
o'lchamli ob'ektlardan kiritish va o'chirish mumkin
Ma'lumotlar to'plamini birlashtirish va qo'shish.
Ma'lumotlar to'plamlarini moslashuvchan qayta shakllantirish va
aylantirish
Vaqt seriyali funksiyalarini ta'minlaydi.
Ma'lumotlar to'plamlarida bo'lish va birlashtirish operatsiyalarini
bajarish uchun funktsional imkoniyatlar mavjudligi.
Pandasda ishlashning birinchi qadami uning Python papkasida o'rnatilgan
yoki o'rnatilmaganligiga ishonch hosil qilishdir. Agar yo'q bo'lsa, biz uni
tizimimizga pip buyrug'i yordamida o'rnatishimiz kerak: pip install pandas.
Pandas tizimga o'rnatilgandan so'ng, kutubxonani import qilishingiz kerak:
Import pandas as pd
Pandas odatda ma'lumotlarni manipulyatsiya qilish uchun ikkita ma'lumotlar
tuzilmasini taqdim etadilar, ular:
Seriya](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_2.png)
![ DataFrame
Series ma’lumotlar tuzilmasi
Series: Pandas Series - bu har qanday turdagi ma'lumotlarni (int, string,
float, python ob'ektlari va boshqalar) saqlashga qodir bo'lgan bir o'lchovli
etiketli massiv.
Pandas kutubxonasidagi Series ma’lumotlar tuzilmasini Pythondagi oddiy
kutubxonalardan farqlaridan biri ro’yhatdagi obyektlarga o’zimiz index
berishimiz mumkin.
Dastlab “object” nomli Series turidagi massiv yaratib, indexlarini o’zimiz
beramiz.
Obyekt ichidagi qiymatlarga indeks orqali murojaat qilamiz:
Series obyektiga oid ba'zi parametrlar va metodlar:
1) values – obyekt qiymatlarini ekranga chiqaradi
2) hasnans – NaN qiymatlar bor yoki yo’qligini tekshiradi.
3) dtype – qiymatlarning ma’lumot turini tekshiradi](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_3.png)
![4) is_unique – qiymatlar takrorlanmas ekanligini tekshiradi
5) shape – Series hajmini aniqlaydi
6) max va min – qiymatlarning maksimum va minimumini aniqlaydi.
DataFrame ma’lumotlar tuzilmasi
Pandas DataFrame 2 o lchovli ma lumotlar strukturasi bo lib, 2 ʻ ʼ ʻ
o lchovli massiv yoki satr va ustunli jadval kabi o’rinishda bo’ladi. Pandas
ʻ
DataFrame uchta asosiy komponentdan
iborat: ma'lumotlar , qatorlar va ustunlar .](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_4.png)
![Pandas DataFrame mavjud xotiradan ma'lumotlar to'plamini yuklash
orqali yaratiladi, fayllar SQL ma'lumotlar bazasi, CSV fayli va Excel fayli
bo'lishi mumkin. Pandas DataFrame ro yxatlar, lug atlar va hokazolardan ʻ ʻ
yaratilishi mumkin.
DataFrame yaratishning bir nechta usuli bor va bulardan eng osoni
qiymatlari bir hil uzunlikdagi ro'yxatdan iborat lug'at orqali yaratish.
Dastlab “data” nomli lug’at yaratib olamiz
pd.DataFrame() buyrug’i orqali lug’atni DataFramega o’tkazamiz](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_5.png)
![DataFrameda ustunlar tartibini o’zgartirish va yangi ustun qo’shish ham
mumkin](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_6.png)
![Huddi Series kabi DataFrame indekslariga ham o'zimiz qiymat berishimiz
mumkin:
Series yordamida biror ustunning ma'lum bir qatorlariga o'zgartirish kiritish
mumkin. Bunda qatorlarning indeksi berilishi shart.
DataFrame yaratishning yana bir usuli lug'atlar lug'atidan foydalanish. Bunda
tashqi lug'at kalitlari ustun, ichki lug'at kalitlari esa indeks bo'ladi .](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_7.png)
![Indekslar va Ustunlar o'rnini almashtirish uchun .T (transpose) metodidan
foydalanish mumkin.
.values parametri yordamida DataFrame ichidagi qiymatlarni 2-o'lchamli
massiv ko'rinishida olishimiz mumkin.
DataFrame: Qayta indekslash
DataFrameda qayta indekslash uchun .index funksiyasidan foydalanamiz:
1) .index funksiyasi](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_8.png)
![df nomli DataFrameni indekslarini o’zgartiramiz:
2) .reindex
.reindex funksiyasi yordamida indekslar o’rnini almashtirishimiz mumkin.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_9.png)
![.reindex yordamida yangi indekslar qo'shish va ularni turli usullar (method)
yordamida to'ldirish ham mumkin
Ustunlarni ham qayta tartiblash mumkin:
3) .drop()
DataFrame dan elementlarni o'chirish. .drop()
DataFramedan biror qator yoki ustunni o'chirish uchun qator (ustun)
indeksini bilish kifoya:](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_10.png)
![.drop() yordamida nafaqat qatorlarni, balki ustunlarni ham o'chirish
mumkin. Buning .drop() metodining axis parametri ishlatiladi, axis=1
qator, axis=0 ustun.
.drop va .reindex kabi funksiyalarni qo’llaganimizda asl DataFrame
o’zgarmaydi, lekin buni maxsus “inplace” parametri yordamida
o’zgarishlarni saqlashimiz mumkin. Bu parametr standart False qiymatga ega
bo’ladi.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_11.png)
![DataFrame va Seriesda elementlarni tanlash
1) Seriesda ma’lumotlar tuzilmasida elementlarni tanlash.
DataFrame aslida Serieslardan tashkil topadi. Yuqoridagi “df” nomli
DataFramedan Series obyektini yaratib olamiz.
Type funksiyasi orqali “data”ning turini tekshirsak Series ma’lumotlar
tuzilmasiga oid ekanligini ko’rishimiz mumkin.
“data” nomli Series ma’lumotlar tuzilmasining elementlarini indeks
orqali tanlashimiz mumkin.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_12.png)
![“data” nomli Series ma’lumotlar tuzilmasining qandaydir oraliqdagi
elementlari kerak bo’lsa data[a:b] shaklda murojaat qilamiz.
Series ma’lumotlar tuzilmasining elementlarini filtrlashning quyidagi
usullari mavjud.
2) DataFrameda ma’lumotlar tuzilmasida elementlarni tanlash.
“df” nomli yangi DataFrame ma’lumotlar tuzilmasini yaratib olamiz.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_13.png)
![“df” nomli DataFrame ma’lumotlar tuzilmasidan istalgan ustun ajratib
olish mumkin.
“df” nomli DataFrame ma’lumotlar tuzilmasidan istalgan oraliqdagi
indekslrni ajratib olish mumkin.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_14.png)
![“df” nomli yangi DataFrame ma’lumotlar tuzilmasida mantiqiy
shartlardan ham foydalanish mumkin.
Pandas kutubxonasida arifmetik amallar.
Ikki Series yoki DataFrame obyektlari o'rtasida arifmetik amallar
bajarishda indekslar juda muhim rol o'ynaydi. Amallar mos tushuvchi
indekslar o'rtasida bajariladi. Agar obyektlarning birida mavjud indeks
ikkinchisda yo'q bo'lsa natija NaN bo'ladi.
Arifmetik amallar bajarish uchun 2 ta “s1” va “s2” Series obyektlarini
yaratib olamiz.
s1+s2 amalini natijasini ko’rishimiz mumkin.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_15.png)
![s1 da mavjud c indeksi s2da mavjud bo'lmaganligi
sabab s1+s2 da c indeksdagi qiymat NaN bo'ldi. Yuqoridagi
holat DataFramelarga ham xos. Serieslardan farqli ravishda DataFrameda
qator va ustun indekslari hisobga olinadi.
DataFrameda Arifmetik amallar bajarish uchun 2 ta “df1” va “df2”
DataFrame obyektlarini yaratib olamiz,
“df1” va “df2” obyektarini chop qilamiz.
“df1” va “df2” obyektarini qo’shamiz.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_16.png)
![a va d ustunlar hamda Olcha va Anjir qatorlar ikkala DataFrame da
bo'lmagani sababli yuqoridagi natija chiqdi.
Yuqoridagi qo'shish amalini .add() metodi yordamida ham bajarish
mumkin.
Bunda maxsus fill_value parametri yordamida mos tushuvchi
indekslardagi NaN qiymatlarni boshqa qiymat bilan almashtirish mumkin. Bu
usulda yakuniy natijada ikkala df da ham mavjud bo'lmagan
indekslarda NaN qiymati qoladi.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_17.png)
![Boshqa arifmetik amallar
add , radd - Qo'shish (+)
sub , rsub - Ayirish (-)
div , rdiv - Bo'lish (/)
floordiv , rfloordiv - Bo'lish va butun qismini olis (//)
mul , rmul - Ko'paytirish (*)
pow , rpow - Eksponenta (**)
Yuqoridagi amallarning barchasida fill_value parametri mavjud. r bilan
boshlangan metodlarda DataFrame ifodaning o'ng tarafida bo'ladi.
Pandas obyekti elementlariga funksiyalarni qo'llash
“df” nomli DataFrame yaratib olamiz va .abs funksiyasini qo’llaymiz.
1) .abs – barcha elementlarni absolyut qiymatini qaytaradi](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_18.png)
![2) .round – elementlarni yaxlitlash uchun foydalaniladi.
3) .mean – har bir ustunning o’rtacha qiymatini hisoblaydi.
Tartiblash va Reytinglash
Series ma’lumotlar tuzilmasi elementlarini tartiblash uchun dastlab “So”
nomli Series yaratib olamiz va uni ekranga chop qilamiz.
1) Series obyektini Indeks bo'yicha tartiblash.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_19.png)
![2) Series obyektini Qiymatlari bo'yicha tartiblash
DataFrame ma’lumotlar tuzilmasi elementlarini tartiblash uchun dastlab
“df” nomli DataFrameni Githubdan yuklab olamiz va uni ekranga chop
qilamiz.
1) Indeks bo’yicha tartiblash](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_20.png)
![2) Ustun nomi bo’yicha tartiblash
3) Teskari tartiblash, agar axis=1 parametrini qo’llasak ustun bo’yicha
teskari tartiblanadi.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_21.png)
![4) DataFrame elementlarini biror ustun bo'yicha tartiblash ham mumkin
.rank() metodi yordamida DataFrame qatorlarini reytingini aniqlash
mumkin. Reyting aniqlashda aynan qaysi ko'rsatkich (ustun) bo'yicha
reytingni aniqlash ko'rsatiladi.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_22.png)
![Foydalanilgan adabiyotlar
1. Wolfgang Ertel. “Introduction to Artificial Intelligence”. Germany-
2017.
2. Joshua Eckroth. “Python Artificial Intelligence Projects for
Beginners”.Birmingham 2018.
3. Nigmatov H. “Intellektual tizimlar”. Toshkent-2019.
4. А.В. Гаврилов. Системы искусственного интеллекта. Учебное
пособие, ч. 1. - Новосибирск, НГТУ, 2000. – 115 с.
5. Интеллектуалные системы и их моделирование. - М.: Наука, 1986.
–с. 25-125.
6. Искусственный интеллект. Применение в интегрированных
производственных системах. Под ред. Э.Кюсиака. - М.:
Машиностроение, 1991. – с.40-70.
7. Искусственный интеллект. Справочник в 3-х томах. - М.: Радио и
связ, 1990. – с.30-140.](/data/documents/8d849656-3466-42de-8bd5-3d46d5f1bac2/page_23.png)
Python dasturlash tili kutubxonalari bilan sun’iy intellekt tizimlarini ishlab chiqish. Pandas kutubxonasi . Reja: 1. Pandas 2. Series ma’lumotlar tuzilmasi 3. DataFrame ma’lumotlar tuzilmasi
Pandas - bu ochiq manbali kutubxona bo'lib, u asosan aloqador yoki etiketli ma'lumotlar bilan oson va intuitiv tarzda ishlash uchun yaratilgan. U turli xil ma'lumotlar tuzilmalari va raqamli ma'lumotlar va vaqt seriyalarini manipulyatsiya qilish uchun operatsiyalarni taqdim etadi. Bu kutubxona NumPy kutubxonasi ustiga qurilgan. Pandas tez va u foydalanuvchilar uchun yuqori unumdorlikka ega. Pandas kutubxonasi afzalliklari: Ma'lumotlarni manipulyatsiya qilish va tahlil qilish uchun tez va samarali. Turli fayl ob'ektlaridan ma'lumotlarni yuklash mumkin. Suzuvchi nuqtada etishmayotgan ma'lumotlarni (NaN sifatida ko'rsatilgan) va suzuvchi nuqta ma'lumotlarini oson boshqarish Hajmi o'zgaruvchanligi: ustunlarni DataFrame va undan yuqori o'lchamli ob'ektlardan kiritish va o'chirish mumkin Ma'lumotlar to'plamini birlashtirish va qo'shish. Ma'lumotlar to'plamlarini moslashuvchan qayta shakllantirish va aylantirish Vaqt seriyali funksiyalarini ta'minlaydi. Ma'lumotlar to'plamlarida bo'lish va birlashtirish operatsiyalarini bajarish uchun funktsional imkoniyatlar mavjudligi. Pandasda ishlashning birinchi qadami uning Python papkasida o'rnatilgan yoki o'rnatilmaganligiga ishonch hosil qilishdir. Agar yo'q bo'lsa, biz uni tizimimizga pip buyrug'i yordamida o'rnatishimiz kerak: pip install pandas. Pandas tizimga o'rnatilgandan so'ng, kutubxonani import qilishingiz kerak: Import pandas as pd Pandas odatda ma'lumotlarni manipulyatsiya qilish uchun ikkita ma'lumotlar tuzilmasini taqdim etadilar, ular: Seriya
DataFrame Series ma’lumotlar tuzilmasi Series: Pandas Series - bu har qanday turdagi ma'lumotlarni (int, string, float, python ob'ektlari va boshqalar) saqlashga qodir bo'lgan bir o'lchovli etiketli massiv. Pandas kutubxonasidagi Series ma’lumotlar tuzilmasini Pythondagi oddiy kutubxonalardan farqlaridan biri ro’yhatdagi obyektlarga o’zimiz index berishimiz mumkin. Dastlab “object” nomli Series turidagi massiv yaratib, indexlarini o’zimiz beramiz. Obyekt ichidagi qiymatlarga indeks orqali murojaat qilamiz: Series obyektiga oid ba'zi parametrlar va metodlar: 1) values – obyekt qiymatlarini ekranga chiqaradi 2) hasnans – NaN qiymatlar bor yoki yo’qligini tekshiradi. 3) dtype – qiymatlarning ma’lumot turini tekshiradi
4) is_unique – qiymatlar takrorlanmas ekanligini tekshiradi 5) shape – Series hajmini aniqlaydi 6) max va min – qiymatlarning maksimum va minimumini aniqlaydi. DataFrame ma’lumotlar tuzilmasi Pandas DataFrame 2 o lchovli ma lumotlar strukturasi bo lib, 2 ʻ ʼ ʻ o lchovli massiv yoki satr va ustunli jadval kabi o’rinishda bo’ladi. Pandas ʻ DataFrame uchta asosiy komponentdan iborat: ma'lumotlar , qatorlar va ustunlar .
Pandas DataFrame mavjud xotiradan ma'lumotlar to'plamini yuklash orqali yaratiladi, fayllar SQL ma'lumotlar bazasi, CSV fayli va Excel fayli bo'lishi mumkin. Pandas DataFrame ro yxatlar, lug atlar va hokazolardan ʻ ʻ yaratilishi mumkin. DataFrame yaratishning bir nechta usuli bor va bulardan eng osoni qiymatlari bir hil uzunlikdagi ro'yxatdan iborat lug'at orqali yaratish. Dastlab “data” nomli lug’at yaratib olamiz pd.DataFrame() buyrug’i orqali lug’atni DataFramega o’tkazamiz