NumPy massivlarini bo‘lish


ULASHISH

NumPy massivlarini bo‘lish

Bo‘lish — birlashtirishning teskari amali.

Birlashtirish bir nechta massivni bittaga qo‘shadi, bo‘lish esa bitta massivni bir nechtaga ajratadi.

Massivlarni bo‘lish uchun array_split()dan foydalanamiz: unga bo‘lmoqchi bo‘lgan massivimizni va bo‘laklar sonini uzatamiz.

Misol

Massivni 3 qismga bo‘ling:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
O‘zingiz sinab ko‘ring »

Eslatma: Qaytariladigan qiymat uchta massivdan iborat ro‘yxatdir.

Agar massivdagi elementlar talab qilinganidan kam bo‘lsa, u oxiridan boshlab mos ravishda moslashtiriladi.

Misol

Massivni 4 qismga bo‘ling:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
O‘zingiz sinab ko‘ring »

Eslatma: Bizda split() metodi ham bor, lekin u yuqoridagi misoldagi kabi manba massivda bo‘lish uchun elementlar yetarli bo‘lmaganda elementlarni moslashtirmaydi: array_split() to‘g‘ri ishladi, split() esa xato beradi.



Massivlarga bo‘lish

array_split() metodining qaytaradigan qiymati — har bir bo‘lakni massiv sifatida o‘z ichiga olgan ro‘yxat.

Agar massivni 3 ta massivga bo‘lsangiz, ularga natijadan xuddi oddiy massiv elementlariga kabi murojaat qilishingiz mumkin:

Misol

Bo‘lingan massivlarga murojaat qiling:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
O‘zingiz sinab ko‘ring »

2-D massivlarni bo‘lish

2-D massivlarni bo‘lishda ham xuddi shu sintaksisdan foydalaning.

array_split() metodidan foydalaning, unga bo‘lmoqchi bo‘lgan massivni va nechta bo‘lakka bo‘lmoqchi ekaningizni uzating.

Misol

2-D massivni uchta 2-D massivga bo‘ling.

import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
O‘zingiz sinab ko‘ring »

Yuqoridagi misol uchta 2-D massiv qaytaradi.

Keling, yana bir misolni ko‘rib chiqamiz, bu safar 2-D massivlardagi har bir element 3 ta elementdan iborat.

Misol

2-D massivni uchta 2-D massivga bo‘ling.

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
O‘zingiz sinab ko‘ring »

Yuqoridagi misol uchta 2-D massiv qaytaradi.

Bundan tashqari, bo‘lish qaysi o‘q bo‘yicha bajarilishini ko‘rsatishingiz mumkin.

Quyidagi misol ham uchta 2-D massiv qaytaradi, lekin ular ustun bo‘ylab (axis=1) bo‘lingan.

Misol

2-D massivni ustunlar bo‘ylab uchta 2-D massivga bo‘ling.

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
O‘zingiz sinab ko‘ring »

Muqobil yechim — hstack()ning teskarisi bo‘lgan hsplit()dan foydalanish

Misol

2-D massivni ustunlar bo‘ylab uchta 2-D massivga bo‘lish uchun hsplit() metodidan foydalaning.

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
O‘zingiz sinab ko‘ring »

Eslatma: vstack() va dstack()ga o‘xshash muqobillar vsplit() va dsplit() ko‘rinishida mavjud.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!