Numpy Vòng Lặp For

Vòng lặp for trong Numpy array có nghĩa là duyệt từng phần tử trong mảng.

Có rất nhiều bài toán trong các dự án thực tế cần phải sử dụng vòng lặp của mảng để giải quyết vấn đề.Để làm việc với mảng nhiều chiều trong numpy, chúng ta có thể sử dụng vòng for cơ bản trong python.

Cách sử dụng vòng lặp for trong numpy

Sau đây là cách sử dụng vòng lặp for trong numpy:

Vòng lặp for mảng 1 chiều

Ví dụ

import numpy as np

arr = np.array([1,2,3,4,5])
for x in arr:
    print(x)

Kết quả :

1
2
3
4
5

Vòng lặp for mảng 2 chiều

Ví dụ

import numpy as np

arr = np.array([[1,2,3],[4,5,6]])
for x in arr:
    print(x)

Kết quả :

[1 2 3]
[4 5 6]

Để lấy các giá trị thực, giá trị vô hướng của các phần tử trong mảng 2 chiều chúng ta phải lặp lại trong mỗi chiều.

Ví dụ lấy các phần tử vô hướng của mảng 2 chiều như sau:

Ví dụ

import numpy as np

arr = np.array([[1,2,3],[4,5,6]])
for x in arr:
    for y in x:
        print(y)

Kết quả :

1
2
3
4
5
6

Vòng lặp for mảng 3 chiều

Ví dụ

import numpy as np

arr = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
for x in arr:
    print(x)

Kết quả :

[[1 2 3]
 [4 5 6]]
[[ 7  8  9]
 [10 11 12]]

Để lấy các giá trị thực, giá trị phần tử vô hướng trong mảng 3 chiều, chúng ta phải lặp mỗi chiều của mảng.

Ví dụ

import numpy as np

arr = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
for x in arr:
    for y in x:
        for z in y:
            print(z)

Kết quả :

1
2
3
4
5
6
7
8
9
10
11
12

Vòng lặp mảng nhiều chiều trong numpy

Chúng ta có thể sử dụng vòng lặp for cở bản để giải quyết các mảng có số chiều nhỏ, vậy để xử lý dữ liệu với dữ liệu lớn, mảng rất nhiều chiều chúng ta sẽ làm thế nào. Trong Python Numpy sử dụng hàm nditer() để lặp với mảng nhiều chiều, mảng số chiều lớn.

Ví dụ

import numpy as np

arr = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
for x in np.nditer(arr):
    print(x)

Kết quả :

1
2
3
4
5
6
7
8
9
10
11
12