cb
ABCD
  • NumPy Эхлэх
  • NumPy Массив үүсгэх
  • NumPy Массивын индексжүүлэлт
  • NumPy Массив үүсгэх /Slicing/
  • NumPy Өгөгдлийн төрөл /Data Type/
  • NumPy Массив Хуулбарлах VS Үзүүлэх
  • NumPy массивын хэмжээ /Shape/
  • NumPy Массивын хэмжээсийн өөрчлөх /Reshaping/
  • NumPy Массивыг давтах /Iterating/
  • NumPy Массивыг нэгтгэх /Join Array/
  • NumPy Массивыг хуваах /Split/
  • NumPy Массиваас хайх /Search/
  • NumPy Массивыг эрэмбэлэх /Sorting/
  • Массив шүүх /Filter/
  • NumPy Санамсаргүй тоо /Random Number/
  • NumPy Санамсаргүй өгөгдөл түгээх /Data Distribution/
  • Санамсаргүй сэлгээ /Random Permutations/
  • NumPy Seaborn модуль
  • NumPy Хэвийн тархалт /Normal Distribution/
  • NumPy Салангид тархалт /Binomial Distribution/
  • NumPy Салангид тархалт /Poisson Distribution/
  • NumPy Жигэд тархалт /Uniform Distribution/
тохиргоо
Толгой хэсэг
Хажуугийн самбар
Үндсэн контент
НЭВТРЭХ

NumPy Массивыг давтах /Iterating/

Давтах гэдэг нь элементүүдийг нэг нэгээр нь дамжин өнгөрөх процесс юм.

NumPy дээр олон хэмжээст массивтай харицахад Python-н үндсэн давталтыг ашиглана.

Хэрэв 1-D буюу нэг хэмжээст массив дээр давталт хийвэл элемент тус бүрээр нь давтах болно.

1-D буюу нэг хэмжээст массив давтах

Жишээ нь

1-D массивын элемент тус бүрээр давталт хийж үзье

import numpy as np

mas = np.array([1, 2, 3, 4, 5])

for x in mas

print (x)

Үр дүн

File G:\Hicheel\Python\test.py
1
2
3
4
5


2-D буюу хоёр хэмжээст массив давтах

Нэг хэмжээст массив нь 2 хэмжээст массивын элемент гэдгийг бид өмнөх хичээлээр үзсэн.

Жишээ нь

2-D массив давтах

import numpy as np

mas = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

for x in mas

print (x)

Үр дүн

File G:\Hicheel\Python\test.py
[1 2 3 4]
[5 6 7 8]

Бодит утга, /scalars/ скалярыг буцаахын тулд массивыг хэмжээс бүр дээр давтана.

Жишээ нь

2-D массив давтах

import numpy as np

mas = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

for x in mas:
for y in x:
print (y)

Үр дүн

File G:\Hicheel\Python\test.py
1
2
3
4
5
6
7
8


3-D буюу гурван хэмжээст массив давтах

Хоёр хэмжээст массив нь 3 хэмжээст массивын элемент гэдгийг бид өмнөх хичээлээр үзсэн.

Жишээ нь

3-D массив давтах

import numpy as np

mas = np.array([[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]]])

for x in mas:
print ("x нь 2-D массив юм")
print (x)

Үр дүн

File G:\Hicheel\Python\test.py
x нь 2-D массив юм
[[1 2 3 4]
 [5 6 7 8]]
x нь 2-D массив юм
[[9 10 11 12]
 [13 14 15 16]]

Бодит утга, /scalars/ скалярыг буцаахын тулд массивыг хэмжээс бүр дээр давтана.

Жишээ нь

3-D массив давтах

import numpy as np

mas = np.array([[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]]])

for x in mas:
for y in x:
for z in y:
print(z)

Үр дүн

File G:\Hicheel\Python\test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


Nditer() ашиглан массив давтах

Nditer() функц нь ашиглахад маш энгийн, хурдан давталт хийх боломжийг олгодог туслах функц юм. Энэхүү функц нь давталтад тулгардаг зарим үндсэн асуудлуудыг хялбар аргаар шийдэж өгсөн байна.

Скаляр элемент бүр дээр давталт хийх

Жишээ нь

3-D массив давтах

import numpy as np

mas = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

for x in np.nditer(mas):
print (x)

Үр дүн

File G:\Hicheel\Python\test.py
1
2
3
4
5
6
7
8
9
10
11
12


Массивыг өөр өгөгдлийн төрлөөр давтах

op_dtypes аргументыг ашиглан давтаж байхдаа элементүүдийн өгөгдлийн төрлийг өөрчилж болно.

NumPy нь элементийн өгөгдлийн төрлийг өөрчилдөггүй. Учир нь элемент нь массивд байгаа. Элементийн төрлийг өөрчлөхийн тулд массивд нэмэлт зай хэрэгтэй болно. Нэмэлт зайг буфер гэнэ.Үүнийг nditer()-д идэвхжүүлэхийн тулд бид flags=['buffered']-г ашиглана.

Жишээ нь

import numpy as np

mas = np.array([1, 2, 3, 4])

for x in np.nditer(mas, flags=['buffered'], op_dtypes=['S']):
print (x)

Үр дүн

File G:\Hicheel\Python\test.py
b'1'
b'2'
b'3'
b'4'


Алхамаар давтах

Эхлээд шүүлтүүр ашиглаж дараа нь давталт хийж боломжтой.

Жишээ нь

2 элементийг алгасаж, 2D массивын скаляр элемент бүрийг давтана.

import numpy as np

mas = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

for x in np.nditer(mas[:, ::3]):
print (x)

Үр дүн

File G:\Hicheel\Python\test.py
1
4
5
8


Тоолсон давталт

Тоолсон давталт гэдэг нь давталт бүрийг нэг нэгээр нь дугаарлахыг хэлнэ.

Заримдаа бид давталт хийхдээ элементийн индексийг шаарддаг. Тэгвэл бид ndenumerate() функцийг ашиглаж болно.

Жишээ нь

1D массивын элементийг тоолж үзье.

import numpy as np

mas = np.array([1, 2, 3, 4, 5])

for idx, x in np.ndenumerate(mas):
print (idx, x)

Үр дүн

File G:\Hicheel\Python\test.py
(0,) 1
(1,) 2
(2,) 3
(3,) 4
(4,) 5

Жишээ нь

2D массивын элементийг тоолж үзье.

import numpy as np

mas = np.array([[1, 2, 3, 4][5, 6, 7, 8]])

for idx, x in np.ndenumerate(mas):
print (idx, x)

Үр дүн

File G:\Hicheel\Python\test.py
(0, 0) 1
(0, 1) 2
(0, 2) 3
(0, 3) 4
(1, 0) 5
(1, 1) 6
(1, 2) 7
(1, 3) 8


Сэтгэгдэлүүд

Контентын нэр
NumPy Эхлэх
NumPy Массив үүсгэх
NumPy Массивын индексжүүлэлт
NumPy Массив үүсгэх /Slicing/
NumPy Өгөгдлийн төрөл /Data Type/
NumPy Массив Хуулбарлах VS Үзүүлэх
NumPy массивын хэмжээ /Shape/
NumPy Массивын хэмжээсийн өөрчлөх /Reshaping/
NumPy Массивыг давтах /Iterating/
NumPy Массивыг нэгтгэх /Join Array/
NumPy Массивыг хуваах /Split/
NumPy Массиваас хайх /Search/
NumPy Массивыг эрэмбэлэх /Sorting/
Массив шүүх /Filter/
NumPy Санамсаргүй тоо /Random Number/
NumPy Санамсаргүй өгөгдөл түгээх /Data Distribution/
Санамсаргүй сэлгээ /Random Permutations/
NumPy Seaborn модуль
NumPy Хэвийн тархалт /Normal Distribution/
NumPy Салангид тархалт /Binomial Distribution/
NumPy Салангид тархалт /Poisson Distribution/
NumPy Жигэд тархалт /Uniform Distribution/
ABCD.mn ©

Нөхцөл & Шаардлага

1. General

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

2. Account

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

3. Service

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

4. Payments

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.