Topshiriqlar 1 (NumPy)
Quyidagi mashqlar source/libs1/numpy_lib.ipynb mavzulari asosida tuzilgan.
1. O‘rnatish va import
import numpy as npni bajaring.np.__version__ni chop eting.Python
listva NumPyndarrayfarqlarini 3 ta punktda yozing (tartib/tezlik/vektorlash kabi).
2. Obyekt yaratish
Quyidagi ro‘yxatdan
ndarrayyarating va uningshape,ndim,dtypeqiymatlarini chiqaring:x = [1, 2, 3, 4, 5]
Amatritsani yarating:A = [[1,2,3,4], [5,6,7,8], [9,10,11,12]]Uni
np.arrayga o‘tkazing vashapeni tekshiring.np.zerosvanp.onesyordamida quyidagilarni yarating:uzunligi 10 bo‘lgan nol vektor;
o‘lchami
(3, 4)bo‘lgan nol matritsa;o‘lchami
(2, 5)bo‘lgan birliklar matritsasi.
np.arangeyordamida:1 dan 12 gacha bo‘lgan sonlarni (12 ham kirsin) yarating;
faqat juft sonlarni yarating: 0,2,4,…,20.
3. Indekslash va kesish (slicing)
Yuqoridagi
Amatritsa uchun:A[1, 2]elementni oling;2-qatorni to‘liq oling;
3-ustunni to‘liq oling;
chap yuqori 2x2 blokni oling.
Aning biror kichik blokini kesib olibBdeb oling (masalan,A[:, 1:3]).Bni o‘zgartirsangizAham o‘zgaradimi? Tajriba qiling va xulosa yozing.
4. Qiymat berish (assignment)
Amatritsada:bitta element qiymatini o‘zgartiring (masalan,
A[0,0]=99).butun bir qatorni 0 ga tenglashtiring.
butun bir ustunni 1 ga tenglashtiring.
5. Element bo‘yicha amallar (vektorlash)
x = np.arange(1, 6)uchun quyidagilarni hisoblang:
x + 10x * 2x ** 2
xvay = np.arange(10, 15)uchun:
x + yx - yx * ynega bu amallar
forsiz ishlaydi? 2–3 gap yozing.
(Broadcasting)
Amatritsaga bitta son qo‘shing va bitta vektor qo‘shib ko‘ring.
Qaysi holat ishlaydi, qaysi holat xato beradi?
shapelarni yozib izohlang.
6. Algebraik amallar
A.T(transponirlash) ni hisoblang.Auchun quyidagilarni toping:
np.sum(A)(hamma elementlar yig‘indisi)np.sum(A, axis=0)(ustun bo‘yicha)np.sum(A, axis=1)(qator bo‘yicha)
np.max(A)vanp.min(A)ni toping.np.argmax(A)vanp.argmin(A)nimani bildiradi? NatijaniA.ravel()bilan solishtirib izohlang.
7. Qayta shakllash (reshape)
v = np.arange(1, 13)yarating.
v.reshape(4, 3)ni hisoblang.v.reshape(3, 4)ni hisoblang.Nega
v.reshape(5, 3)xato beradi? Elementlar soni nuqtai nazaridan tushuntiring.
B = v.reshape(4, 3)bo‘lsin.
B.shapevaB.ndimni chiqaring.Bdan 1D ko‘rinishga qaytishning 2 xil usulini toping (masalan,reshape(-1)kabi).
8. Tasodifiy sonlar va yig‘ishlar
rng = np.random.default_rng(42)yarating.
a = rng.integers(20, size=(12,))yarating.np.sum(a),np.max(a),np.min(a),np.mean(a)ni hisoblang.
A = rng.integers(25, size=(4, 3))yarating.
qator bo‘yicha yig‘indilarni toping (
axis=1);ustun bo‘yicha yig‘indilarni toping (
axis=0).
9. Kichik amaliy masalalar
1D vektor berilgan:
x = rng.integers(100, size=(30,)).
o‘rtacha qiymatdan katta elementlar sonini toping.
eng katta 5 ta elementni toping (ixtiyoriy: indekslari bilan).
(Ixtiyoriy)
Amatritsaning har bir qatorini o‘rtacha qiymati bilan markazlashtiring:
har bir qatordan shu qatorning o‘rtachasini ayiring.