Dasturiy injiniring sohasida ma'lumotlarni vizuallashtirish







![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()](/data/documents/0055e10b-50a3-445b-816a-a704ae3383e2/page_8.png)
![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:](/data/documents/0055e10b-50a3-445b-816a-a704ae3383e2/page_9.png)







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.