logo

Dasturiy injiniring sohasida ma'lumotlarni vizuallashtirish

Загружено в:

08.08.2023

Скачано:

0

Размер:

1204.892578125 KB
MAVZU: Dasturiy injiniring sohasida ma'lumotlarni
vizuallashtirish.
REJA
1. Kirish
2. Nazariy qism
   2.1. Funksional dasturlash
   2.2. Numpy
   2.3. Pandas
   2.4. Matplotlib 
3. Amaliy qism
   3.1. Masalalar va ularning yechimari
4. Xulosa
5. Adabiyotlar Kirish
Python dasturlash tili yaratilishi tarixi, imkoniyatlari va uni o’rnatish.
Python – bu o'rganishga oson va shu bilan birga imkoniyatlari yuqori bo'lgan
oz   sonlik   zamonaviy   dasturlash   tillari   qatoriga   kiradi.   Python   yuqori   darajadagi
ma'lumotlar   strukturasi   va   oddiy   lekin   samarador   obyektga   yo'naltirilgan
dasturlash uslublarini taqdim etadi. Python quyidagi sohalarda ishlatiladi:
 Web dasturlash (serverlar bilan)
 Dasturiy ta’minot
 Matematika
 Tizim skriptlari
Python   dasturlash   tilini   yaratilishi   1980-yil   oxiri   1990-yil   boshlaridan
boshlangan. Osha paytlarda uncha taniqli bolmagan Gollandiyaning CWI instituti
xodimi Gvido van Rossum ABC tilini yaratilish proektida ishtirok etgan edi. ABC
tili   Basic   tili   orniga   talabalarga   asosiy   dasturlash   konsepsiyalarini   orgatish   uchun
moljallangan   til   edi.   Bir   kun   Gvido   bu   ishlardan   charchadi   va   2   hafta   davomida
ozining Macintoshida  boshqa  oddiy tilning interpretatorini  yozdi, bunda u albatta
ABC   tilining   ba’zi   bir   goyalarini   ozlashtirdi.   Shuningdek,   Python   1980-1990-
yillarda keng foydalanilgan Algol-68, C, C++, Modul3 ABC, SmallTalk tillarining
koplab   xususiyatlarini   oziga   olgandi.   Gvido   van   Rossum   bu   tilni   internet   orqali
tarqata   boshladi.   Bu   paytda   ozining   “Dasturlash   tillarining   qiyosiy   taqrizi”   veb
sahifasi bilan internetda to 1996-yilgacha Stiv Mayevskiy ismli kishi taniqli edi. U
ham   Macintoshni   yoqtirardi   va   bu   narsa   uni   Gvido   bilan   yaqinlashtirdi.   Osha
paytlarda Gvido BBC ning “Monti Paytonning havo sirki” komediyasining muxlisi
edi   va   ozi   yaratgan   tilni   Monti   Payton   nomiga   Python   deb   atadi   (ilon   nomiga
emas). Nazariy qism
2.1. Funksional dasturlash
                    Kompyuter   fanida   funksional   dasturlash   bu   dasturlash   paradigmasi
bo lib, unda dasturlar funksiyalarni qo llash va tuzish orqali tuziladi. Bu deklarativʻ ʻ
dasturlash   paradigmasi   bo lib,   unda   funksiya   ta riflari   dasturning   ish   holatini	
ʻ ʼ
yangilaydigan   imperativ   iboralar   ketma-ketligi   emas,   balki   qiymatlarni   boshqa
qiymatlar bilan taqqoslaydigan iboralar daraxti hisoblanadi.
           Funktsional dasturlashda funksiyalar birinchi darajali fuqarolar sifatida
ko‘rib   chiqiladi,   ya’ni   ular   nomlar   (jumladan,   mahalliy   identifikatorlar)   bilan
bog‘lanishi,   argument   sifatida   uzatilishi   va   boshqa   ma’lumotlar   turi   kabi   boshqa
funksiyalardan   qaytarilishi   mumkin.   Bu   dasturlarni   deklarativ   va   kompozitsion
uslubda   yozish   imkonini   beradi,   bunda   kichik   funksiyalar   modulli   tarzda
birlashtiriladi.
                      Funktsional   dasturlash   ba zan   sof   funksional   dasturlash,   barcha	
ʼ
funksiyalarni   deterministik   matematik   funksiyalar   yoki   sof   funksiyalar   sifatida
ko rib chiqadigan funktsional dasturlashning kichik to plami bilan sinonim sifatida	
ʻ ʻ
ko riladi. Agar sof funksiya ba zi berilgan argumentlar bilan chaqirilsa, u har doim
ʻ ʼ
bir xil natijani qaytaradi va hech qanday o zgaruvchan holat yoki boshqa nojo ya	
ʻ ʻ
ta sirlardan   ta sirlanmaydi.   Bu   imperativ   dasturlashda   keng   tarqalgan   nopok	
ʼ ʼ
protseduralardan farq qiladi, ular nojo'ya ta'sirlarga ega bo'lishi mumkin (masalan,
dastur holatini o'zgartirish yoki foydalanuvchidan ma'lumot olish). Sof funktsional
dasturlash   tarafdorlarining   ta kidlashicha,   nojo ya   ta sirlarni   cheklash   orqali	
ʼ ʻ ʼ
dasturlarda   kamroq   xatolar   bo lishi,   disk   raskadrovka   va   sinovdan   o tkazish
ʻ ʻ
osonroq bo lishi hamda rasmiy tasdiqlashga ko proq mos kelishi mumkin.	
ʻ ʻ 2.2.  Numpy
  NumPy   nima?   O rnatish   NumPy   quickstartNumPy:   yangi   boshlanuvchilarʻ
uchun   mutlaq   asoslarNumPy   asoslariMATLAB   foydalanuvchilari   uchun   turli
xilNumPy   Manbadan   qurish.NumPy   C-APINumPy   o quv   qo llanmalaridan	
ʻ ʻ
foydalanish NumPy Qanday TosQuyi oqim paketi mualliflariF2PY foydalanuvchi
qo llanmasi   va   ma lumotnomalari-P   Xatolar   uchun   qo llanmani   ishlab   chiqish-	
ʻ ʼ ʻ
qayta ma lumotnomalar-P.	
ʼ
                NumPy Pythonda ilmiy hisoblash uchun asosiy to'plamdir.   Bu Python
kutubxonasi   bo lib,   u   ko p   o lchovli   massiv   obyekti,   turli   hosila   ob yektlari	
ʻ ʻ ʻ ʼ
(masalan,   niqoblangan   massivlar   va   matritsalar)   hamda   massivlar   ustida   tezkor
operatsiyalar,   jumladan,   matematik,   mantiqiy,   shakllarni   manipulyatsiya   qilish,
saralash,   tanlash,   kiritish/chiqarish   uchun   tartiblar   assortimentini   taqdim   etadi.     ,
diskret   Furye   o'zgarishlari,   asosiy   chiziqli   algebra,   asosiy   statistik   operatsiyalar,
tasodifiy simulyatsiya va boshqalar.
NumPy   to plamining   markazida   ndarray   ob ekti   joylashgan.     Bu   bir   hil
ʻ ʼ
ma lumotlar   turlarining   n-o lchovli   massivlarini   qamrab   oladi,   ko p   operatsiyalar	
ʼ ʻ ʻ
ishlash   uchun   kompilyatsiya   qilingan   kodda   bajariladi.     NumPy   massivlari   va
standart Python ketma-ketliklari o'rtasida bir nechta muhim farqlar mavjud:
        NumPy massivlari Python ro'yxatlaridan farqli o'laroq (dinamik ravishda
o'sishi   mumkin)   yaratilayotganda   qat'iy   belgilangan   hajmga   ega.     Ndarray
o lchamini o zgartirish yangi massivni yaratadi va asl nusxani o chirib tashlaydi.	
ʻ ʻ ʻ
NumPy massividagi elementlarning barchasi bir xil turdagi ma'lumotlarga ega
bo'lishi   kerak   va   shuning   uchun   xotirada   bir   xil   o'lchamda   bo'ladi.     Istisno:
(Python, shu jumladan NumPy) ob'ektlar massivlariga ega bo'lishi mumkin, bu esa
turli o'lchamdagi elementlarning massivlarini yaratishga imkon beradi.
  NumPy   massivlari   katta   miqdordagi   ma'lumotlar   bilan   ilg'or   matematik   va
boshqa   turdagi   operatsiyalarni   osonlashtiradi.     Odatda,   bunday   operatsiyalar
Python-ning o'rnatilgan ketma-ketliklaridan foydalanish mumkin bo'lganidan ko'ra
samaraliroq va kamroq kod bilan amalga oshiriladi. Python-ga   asoslangan   ilmiy   va   matematik   paketlarning   ko'pligi   NumPy
massivlaridan   foydalanmoqda;     Ular   odatda   Python-ketma-ket   kiritishni   qo'llab-
quvvatlasa ham, ular qayta ishlashdan oldin bunday kirishni NumPy massivlariga
aylantiradi va ko'pincha NumPy massivlarini chiqaradi.  Boshqacha qilib aytadigan
bo'lsak, Python-ga asoslangan bugungi ilmiy/matematik dasturiy ta'minotning ko'p
qismini  (ehtimol  ko'pini)   samarali  ishlatish   uchun Python-ning o'rnatilgan  ketma-
ketlik   turlaridan   qanday   foydalanishni   bilishning   o'zi   etarli   emas   -   NumPy
massivlaridan qanday foydalanishni ham bilish kerak.
2.3. Pandas
   Pandas - Ma'lumotlarni boshqarish va tahlil qilish uchun Python dasturlash
tili   uchun   yozilgan   dasturiy   kutubxona.   Xususan,   u   raqamli   jadvallar   va   vaqt
qatorlarini boshqarish uchun ma'lumotlar tuzilmalari va operatsiyalarni taklif qiladi
                    Pandas   -   bu   ma'lumotlarni   tahlil   qilish   uchun   yuqori   darajadagi   Python
kutubxonasi. Uni yuqori darajali deb atashimning sababi, u past darajadagi NumPy
kutubxonasi   (C   tilida   yozilgan)   ustiga   qurilgani,   bu   esa   unumdorlikni   oshiradi.
Python   ekotizimida   pandalar   eng   ilg'or   va   eng   tez   rivojlanayotgan   ma'lumotlar
fanlari   kutubxonasidir.   Mening   ishimda   deyarli   har   kuni   foydalanishim   kerak,
shuning   uchun   men   to'satdan   biror   narsani   unutib   qo'ysam,   kelajakda   unga
murojaat qilish uchun ushbu qisqa eslatmani  yozyapman. Umid qilamanki, ushbu
post   blog   o'quvchilariga   pandalar   bilan   bog'liq   muammolarni   o'zlari   hal   qilishda
yordam   beradi   va   ushbu   kutubxonaning   imkoniyatlari   haqida   kichik   kirish   bo'lib
xizmat qiladi.
                  Pandas   bilan   samarali   ishlash   uchun   kutubxonaning   eng   muhim
ma lumotlar tuzilmalarini o zlashtirishingiz kerak: DataFrame va Series. Ularningʼ ʻ
nima ekanligini tushunmasdan, kelajakda sifatli tahlil qilish mumkin emas. Seriya
Series   strukturasi/ob'ekti   bir   o'lchovli   massivga   o'xshash   ob'ektdir   (masalan,
Python   ro'yxati),   lekin   uning   ajralib   turadigan   xususiyati   bog'langan   teglar
mavjudligidir.   ro'yxatdagi   har   bir   element   bo'ylab   indekslar.   Bu   xususiyat   uni
Pythonda assotsiativ massiv yoki lug'atga aylantiradi.                 Series   ob'ektining   satrli   tasvirida   indeks   chapda,   element   esa   o'ngda.
Agar   indeks   aniq   belgilanmagan   bo'lsa,   pandalar   avtomatik   ravishda   0   dan   N-1
gacha   bo'lgan   RangeIndex   ni   yaratadi,   bu   erda   N   -   elementlarning   umumiy   soni.
Shuni   ham   ta'kidlash   kerakki,   Series   saqlangan   elementlarning   bir   turiga   ega,
bizning holatlarimizda bu int64, chunki biz butun son qiymatlarini o'tkazdik. Series
ob'ektida   elementlar   va   indekslar   ro'yxatini   olishingiz   mumkin   bo'lgan   atributlar
mavjud, ular mos ravishda qiymatlar va indekslardir.
2.4. Matplotlib
                  Matplotlib.pyplot   -   bu   matplotlibni   MATLAB   kabi   ishlashini
ta'minlaydigan   funktsiyalar   to'plami.   Har   bir   pyplot   funktsiyasi   figuraga   biroz
o'zgartirish kiritadi: masalan, figurani yaratadi, rasmda chizma maydonini yaratadi,
chizilgan   maydonda   ba'zi   chiziqlarni   chizadi,   uchastkani   teglar   bilan   bezatadi   va
hokazo. Matplotlib.pyplot da funksiya chaqiruvlari bo ylab turli holatlar saqlanadi,ʻ
shu   sababli   u   joriy   rasm   va   chizma   maydoni   kabi   narsalarni   kuzatib   boradi   va
chizma   funktsiyalari   joriy   o qlarga   yo naltiriladi   (iltimos,   “o qlar”   bu   yerda   va	
ʻ ʻ ʻ
ko pgina   joylarda   Hujjatlar   bir   nechta   o'q   uchun   qat'iy   matematik   atama   emas,	
ʻ
balki shaklning o'qlari qismiga ishora qiladi).
                     Har bir  x, y argumentlar juftligi uchun ixtiyoriy uchinchi  argument
mavjud bo'lib, u uchastkaning rangi va chiziq turini ko'rsatadigan format qatoridir.
Format   satrining   harflari   va   belgilari   MATLAB   dan   olingan   va   siz   rangli   satrni
chiziq uslubi qatori bilan birlashtirasiz. Standart format qatori "b-" bo'lib, u qattiq
ko'k chiziqdir. Misol  uchun, yuqoridagilarni qizil doiralar  bilan chizish uchun siz
chiqarasiz
            Ba'zi holatlar mavjudki, sizda ma'lum bir o'zgaruvchilarga satrlar bilan
kirish   imkonini   beruvchi   formatdagi   ma'lumotlar   mavjud.   Masalan,
numpy.recarray   yoki   pandas.DataFrame   bilan.   Matplotlib   bunday   ob'ektni
ma'lumotlar   kalit   so'zi   argumenti   bilan   ta'minlashga   imkon   beradi.   Agar   taqdim
etilgan bo'lsa, siz ushbu o'zgaruvchilarga mos keladigan satrlar bilan uchastkalarni
yaratishingiz mumkin.                        Matlab va pyplotda joriy rasm  va joriy o'qlar tushunchasi  mavjud.
Barcha   chizma   funktsiyalari   joriy   o'qlarga   tegishli.   Gca   funktsiyasi   joriy   o'qlarni
(matplotlib.axes.Axes   misoli)   qaytaradi   va   gcf   joriy   raqamni   qaytaradi
(matplotlib.figure.Figure   misoli).   Odatda,   bu   haqda   tashvishlanishga   hojat   yo'q,
chunki   hamma   narsa   sahna   ortida   hal   qilinadi.   Quyida   ikkita   subplot   yaratish
uchun skript mavjud. 3. Amaliy qism
    3.1. Masalalar va ularning yechimari
          1-topshiriq 1-m. N ta elementdan tashkil  topgan ruyxat berilgan. Ruyxat
elementlari   orasidan   5   ga   karrali   bulgan   indekslarda   turgan   elementlar   ruyxatini
chop etadigan dastur tuzing. 5 ga karrali deb 5 ga bulinadigan sonlarga aytiladi.
Dastur kodi:
from numpy import size
import numpy as np
lst = list(np.arange(101))
lst1 = list()
for x in range(0,size(lst),5):
    lst1.append(lst[x])
print(lst1)
Izoh: listdan foydalanib massivning 5 ga bulinadigan indeksdagi sonlarni 
ekranga chiqardim
        2-masala Standart kirituvchi ma`lumot sifatida ismlarni o`qib olib, ularni 
ichidan eng kaltasini chiqaruvchi dastur tuzing
Dastur kodi:
with open('text.txt', 'r') as f:
    data = f.read() names = list()
c=0
for x in range(0, len(data)):
    if data[x] == ' ' or data[x]==',':
        print(data[x])
        names.append(data[c:x])
        c=x+1
names.append(data[c:x+1])
print(min(names))
Natija:
Izoh: text.txt faylida berilgan ismlardan eng kichigini ekranga chop etdim.
2-topshriq 1-masala  1-o'lchamli massivlar yaratish -Elementlari ixtiyoriy n ta
(n > 0, butun son) bo'lgan 1-o'lchamli massiv (array) yaratuvchi funksiyani tuzing.
Dastur kodi:
Natija: Izoh     masalani   yechimini   chiqarishb   uchun     dastur   kodida   funksiya   yaratib
undan foydalanildi  
          2-masala 2-o'lchamli massivlar yaratish - Elementlari 0 dan 9 gacha (9
ning   o'zi   massiv   elementiga   kirmaydi),   qadami   esa   1   ga   teng   bo'lgan   (3,   3)
o'lchamli  massiv  yarating.  -Yuqorida  yaratilgan  massivning   elementlari   1,  4  va  7
ga teng bo'lgan qismini kesib olish funksiyasini tuzing.
Dastur kodi:
Natija:
Izoh     masalani   yechimini   chiqarishb   uchun     dastur   kodida   funksiya   yaratib
undan foydalanildi  
3-masala   Indeks   yordamida   3-o'lchamli   massivdan   elementlarni   kesib   olish
3-o'lchamli   massivni   quyidagi   listdan   yarating,   hamda   12,   13,   15,   va   16
elementlarini kesib oling.  Dastur kodi:
Natija:
Izoh     masalani   yechimini   chiqarishb   uchun     dastur   kodida   funksiya   yaratib
undan foydalanildi  
3-Topshiriq   pandas   kutubxonasi   orqali   fayl   yuklab   uning   diagrammasini
chiqarib  ustida amallar bajarish fayl nomi “titanic4.csv”
Dastur kodi:
  Natija:
1. 4-topshiriq Funksiya grafigini chizing Y=1-cos(2x)
Dastur kodi: Natija:
Izoh   berilgan   funksiyani   ishlashda     matiblotib   kutubxonasidan   foydalanildi
funksiya grafigi chiqardik. Xulosa
                     Men bu amaliyot o'tash vaqtida katta ma'lumotlari python dasturlash
tilining asoslari Numpy,Pandas va Matplotlib kutubxonalari asosida ma'lumotlarni
qayta   ishlash   o'chirish   ,   nusxa   olish   va   boshqa   amallarni   bajardik   va   ular   ustida
Matplotlib   kutubxonasi   yordamida   grafik   larini   chizib   shu   grafik   asosida   tahlil
qildim. 
Numpy   kutubxonasi   katta   massivlar   ustida   amallarni   bajariah   uchun   xizmat
qiladi   unda   matematik   funksiyalar   va   random   sinflari   mavjud   va   ulardan
foydalaniladi. 
Numpy   kutubxonasidan   foydalanish   python   dasturlash   tilining   standart
funksiyalaridan   ancha   tez   va   xotiradan   samarali   foydalaniladi   biz   bu   amaliyot
mashg'ulotidan   .csv   ,.xml,.docx   fayllari   ustida   ma'lumotlarini   o'qish,yozish   va
o'chirish   ketma-ketligini   bajardim.     Bu   amaliyot   mashg'ulotidan   bizga   kerakli
bo'lgan dasturlash qurilma va texnalogiyalardan foydalanib kerakli topshiriqlarning
dasturini   tuzib   chiqdik.   Biz   “ Dasturiy   injiniring   sohasida   ma’lumotlarni
visuallashtirish ”   mavzusi   yuzasi dagi   malakaviy   amaliy   mashg’ulot   bajarish
davomida  Python   dasturlash  tili  haqida qo`shimcha bilimlarga ega bo`ldik.  Phyton
dasturlash   tili   bu gungi   kunning   eng   mashxur   va   ommabop   bo’lgan   dasturlash
tilidir. 
3. 1-2-3-o'lchamli massivlar yaratish. Ushbu masalani hal qilishda NUMPY
kutubxonasidan foydalandim yechimga ega bo’ldim.
 Xulosa shundan iboratki bizga  ommabop bo’lga dasturlash tili hamda zamon
talabiga javob beradigon dasturlar va    algoritmlar hayotni osonlashtirish amallarni
tez   fursatlar   ichida   amalga   oshirish   uchun   kerak   bo`ladigan   asosiy   tushunchadir.
Dastur va  dasturlashdagi maqbul ichki tuzilish dastlabki masalani hal qilish uchun
kichikroq   kichik   muammolarni   eng   yaxshi   echimidan   foydalanish   mumkin.
Yanada aniqroq qilib aytganda Phyton   dasturlash  tilida   asosan   sun’iy intellekt  va
matematikaning ko p bosqichli eng maqbul (optimal) boshqarishga oid masalalarniʻ
yechishda foydalaniladigan dasturlash tilidir.   Foydalanilgan   adabiyotlar
1. Матросов А. Решение задач математики и механики в среде  Map le 6.
СПб.: Питер, 2000. 
2. В.З. АЛАДЬЕВ. Основы программирования в Maple. Таллинн, 2006. 
3.   Основы   использования   математического   пакета   Maple   в
моделировании: Учебное пособие / Международный институт компьютерных
технологий. Липецк, 2006. 119с. 
4. Дьяконов В. Maple 6. Учебный курс СПб.: Питер, 2001. 
5.   Аладьев   В.З.,   Лиопо   В.А.,   Никитин   А.В.   Математический   пакет
Maple   в   физическом   моделировании.-   Гродно:   Гродненский   госу-
дарственный университет им. Янки Купалы, 2002, 416 с. 
6.   O’runbayev   E.,   Murodov   F.   Kompyuter   algebrasi   tizimlarining   amaliy
tadbiqlari. –SamDU nashri – Samarqand, 2003, 96 s. 
7.   Аладьев   В.З.,   Богдявичюс   М.А .   Решение   физико-технических   и
математических   задач   с   пакетом   Maple   V .-   Вильнюс:   Изд-во   Техника ,   1999,
686 c., ISBN 9986-05-398-6. 
8.   Аладьев   В.З.,   Богдявичюс   М.А .   Maple   6:   Решение   математичес-ких,
статистических   и   инженерно-физических   задач.-   Москва:   Лаборатория
Базовых Знаний , 2001, 850 с. + CD-ROM, ISBN 5-93308-085-X. 
9. Математика на компьютере: Maple 8. — М.: СОЛОН-Пресс, 2003.176
с:

MAVZU: Dasturiy injiniring sohasida ma'lumotlarni vizuallashtirish. REJA 1. Kirish 2. Nazariy qism 2.1. Funksional dasturlash 2.2. Numpy 2.3. Pandas 2.4. Matplotlib 3. Amaliy qism 3.1. Masalalar va ularning yechimari 4. Xulosa 5. Adabiyotlar

Kirish Python dasturlash tili yaratilishi tarixi, imkoniyatlari va uni o’rnatish. Python – bu o'rganishga oson va shu bilan birga imkoniyatlari yuqori bo'lgan oz sonlik zamonaviy dasturlash tillari qatoriga kiradi. Python yuqori darajadagi ma'lumotlar strukturasi va oddiy lekin samarador obyektga yo'naltirilgan dasturlash uslublarini taqdim etadi. Python quyidagi sohalarda ishlatiladi:  Web dasturlash (serverlar bilan)  Dasturiy ta’minot  Matematika  Tizim skriptlari Python dasturlash tilini yaratilishi 1980-yil oxiri 1990-yil boshlaridan boshlangan. Osha paytlarda uncha taniqli bolmagan Gollandiyaning CWI instituti xodimi Gvido van Rossum ABC tilini yaratilish proektida ishtirok etgan edi. ABC tili Basic tili orniga talabalarga asosiy dasturlash konsepsiyalarini orgatish uchun moljallangan til edi. Bir kun Gvido bu ishlardan charchadi va 2 hafta davomida ozining Macintoshida boshqa oddiy tilning interpretatorini yozdi, bunda u albatta ABC tilining ba’zi bir goyalarini ozlashtirdi. Shuningdek, Python 1980-1990- yillarda keng foydalanilgan Algol-68, C, C++, Modul3 ABC, SmallTalk tillarining koplab xususiyatlarini oziga olgandi. Gvido van Rossum bu tilni internet orqali tarqata boshladi. Bu paytda ozining “Dasturlash tillarining qiyosiy taqrizi” veb sahifasi bilan internetda to 1996-yilgacha Stiv Mayevskiy ismli kishi taniqli edi. U ham Macintoshni yoqtirardi va bu narsa uni Gvido bilan yaqinlashtirdi. Osha paytlarda Gvido BBC ning “Monti Paytonning havo sirki” komediyasining muxlisi edi va ozi yaratgan tilni Monti Payton nomiga Python deb atadi (ilon nomiga emas).

Nazariy qism 2.1. Funksional dasturlash Kompyuter fanida funksional dasturlash bu dasturlash paradigmasi bo lib, unda dasturlar funksiyalarni qo llash va tuzish orqali tuziladi. Bu deklarativʻ ʻ dasturlash paradigmasi bo lib, unda funksiya ta riflari dasturning ish holatini ʻ ʼ yangilaydigan imperativ iboralar ketma-ketligi emas, balki qiymatlarni boshqa qiymatlar bilan taqqoslaydigan iboralar daraxti hisoblanadi. Funktsional dasturlashda funksiyalar birinchi darajali fuqarolar sifatida ko‘rib chiqiladi, ya’ni ular nomlar (jumladan, mahalliy identifikatorlar) bilan bog‘lanishi, argument sifatida uzatilishi va boshqa ma’lumotlar turi kabi boshqa funksiyalardan qaytarilishi mumkin. Bu dasturlarni deklarativ va kompozitsion uslubda yozish imkonini beradi, bunda kichik funksiyalar modulli tarzda birlashtiriladi. Funktsional dasturlash ba zan sof funksional dasturlash, barcha ʼ funksiyalarni deterministik matematik funksiyalar yoki sof funksiyalar sifatida ko rib chiqadigan funktsional dasturlashning kichik to plami bilan sinonim sifatida ʻ ʻ ko riladi. Agar sof funksiya ba zi berilgan argumentlar bilan chaqirilsa, u har doim ʻ ʼ bir xil natijani qaytaradi va hech qanday o zgaruvchan holat yoki boshqa nojo ya ʻ ʻ ta sirlardan ta sirlanmaydi. Bu imperativ dasturlashda keng tarqalgan nopok ʼ ʼ protseduralardan farq qiladi, ular nojo'ya ta'sirlarga ega bo'lishi mumkin (masalan, dastur holatini o'zgartirish yoki foydalanuvchidan ma'lumot olish). Sof funktsional dasturlash tarafdorlarining ta kidlashicha, nojo ya ta sirlarni cheklash orqali ʼ ʻ ʼ dasturlarda kamroq xatolar bo lishi, disk raskadrovka va sinovdan o tkazish ʻ ʻ osonroq bo lishi hamda rasmiy tasdiqlashga ko proq mos kelishi mumkin. ʻ ʻ

2.2. Numpy NumPy nima? O rnatish NumPy quickstartNumPy: yangi boshlanuvchilarʻ uchun mutlaq asoslarNumPy asoslariMATLAB foydalanuvchilari uchun turli xilNumPy Manbadan qurish.NumPy C-APINumPy o quv qo llanmalaridan ʻ ʻ foydalanish NumPy Qanday TosQuyi oqim paketi mualliflariF2PY foydalanuvchi qo llanmasi va ma lumotnomalari-P Xatolar uchun qo llanmani ishlab chiqish- ʻ ʼ ʻ qayta ma lumotnomalar-P. ʼ NumPy Pythonda ilmiy hisoblash uchun asosiy to'plamdir. Bu Python kutubxonasi bo lib, u ko p o lchovli massiv obyekti, turli hosila ob yektlari ʻ ʻ ʻ ʼ (masalan, niqoblangan massivlar va matritsalar) hamda massivlar ustida tezkor operatsiyalar, jumladan, matematik, mantiqiy, shakllarni manipulyatsiya qilish, saralash, tanlash, kiritish/chiqarish uchun tartiblar assortimentini taqdim etadi. , diskret Furye o'zgarishlari, asosiy chiziqli algebra, asosiy statistik operatsiyalar, tasodifiy simulyatsiya va boshqalar. NumPy to plamining markazida ndarray ob ekti joylashgan. Bu bir hil ʻ ʼ ma lumotlar turlarining n-o lchovli massivlarini qamrab oladi, ko p operatsiyalar ʼ ʻ ʻ ishlash uchun kompilyatsiya qilingan kodda bajariladi. NumPy massivlari va standart Python ketma-ketliklari o'rtasida bir nechta muhim farqlar mavjud: NumPy massivlari Python ro'yxatlaridan farqli o'laroq (dinamik ravishda o'sishi mumkin) yaratilayotganda qat'iy belgilangan hajmga ega. Ndarray o lchamini o zgartirish yangi massivni yaratadi va asl nusxani o chirib tashlaydi. ʻ ʻ ʻ NumPy massividagi elementlarning barchasi bir xil turdagi ma'lumotlarga ega bo'lishi kerak va shuning uchun xotirada bir xil o'lchamda bo'ladi. Istisno: (Python, shu jumladan NumPy) ob'ektlar massivlariga ega bo'lishi mumkin, bu esa turli o'lchamdagi elementlarning massivlarini yaratishga imkon beradi. NumPy massivlari katta miqdordagi ma'lumotlar bilan ilg'or matematik va boshqa turdagi operatsiyalarni osonlashtiradi. Odatda, bunday operatsiyalar Python-ning o'rnatilgan ketma-ketliklaridan foydalanish mumkin bo'lganidan ko'ra samaraliroq va kamroq kod bilan amalga oshiriladi.

Python-ga asoslangan ilmiy va matematik paketlarning ko'pligi NumPy massivlaridan foydalanmoqda; Ular odatda Python-ketma-ket kiritishni qo'llab- quvvatlasa ham, ular qayta ishlashdan oldin bunday kirishni NumPy massivlariga aylantiradi va ko'pincha NumPy massivlarini chiqaradi. Boshqacha qilib aytadigan bo'lsak, Python-ga asoslangan bugungi ilmiy/matematik dasturiy ta'minotning ko'p qismini (ehtimol ko'pini) samarali ishlatish uchun Python-ning o'rnatilgan ketma- ketlik turlaridan qanday foydalanishni bilishning o'zi etarli emas - NumPy massivlaridan qanday foydalanishni ham bilish kerak. 2.3. Pandas Pandas - Ma'lumotlarni boshqarish va tahlil qilish uchun Python dasturlash tili uchun yozilgan dasturiy kutubxona. Xususan, u raqamli jadvallar va vaqt qatorlarini boshqarish uchun ma'lumotlar tuzilmalari va operatsiyalarni taklif qiladi Pandas - bu ma'lumotlarni tahlil qilish uchun yuqori darajadagi Python kutubxonasi. Uni yuqori darajali deb atashimning sababi, u past darajadagi NumPy kutubxonasi (C tilida yozilgan) ustiga qurilgani, bu esa unumdorlikni oshiradi. Python ekotizimida pandalar eng ilg'or va eng tez rivojlanayotgan ma'lumotlar fanlari kutubxonasidir. Mening ishimda deyarli har kuni foydalanishim kerak, shuning uchun men to'satdan biror narsani unutib qo'ysam, kelajakda unga murojaat qilish uchun ushbu qisqa eslatmani yozyapman. Umid qilamanki, ushbu post blog o'quvchilariga pandalar bilan bog'liq muammolarni o'zlari hal qilishda yordam beradi va ushbu kutubxonaning imkoniyatlari haqida kichik kirish bo'lib xizmat qiladi. Pandas bilan samarali ishlash uchun kutubxonaning eng muhim ma lumotlar tuzilmalarini o zlashtirishingiz kerak: DataFrame va Series. Ularningʼ ʻ nima ekanligini tushunmasdan, kelajakda sifatli tahlil qilish mumkin emas. Seriya Series strukturasi/ob'ekti bir o'lchovli massivga o'xshash ob'ektdir (masalan, Python ro'yxati), lekin uning ajralib turadigan xususiyati bog'langan teglar mavjudligidir. ro'yxatdagi har bir element bo'ylab indekslar. Bu xususiyat uni Pythonda assotsiativ massiv yoki lug'atga aylantiradi.