Trong bài viết này, chúng tôi sẽ học cách che dấu một mảng bằng một mảng khác trong Python. Khi làm việc với các mảng dữ liệu hoặc mặt nạ khung dữ liệu có thể cực kỳ hữu ích. Mặt nạ là một mảng chứa danh sách các giá trị boolean cho điều kiện đã cho. Mảng đeo mặt nạ là các mảng có các mục không hợp lệ hoặc thiếu.
Sử dụng mặt nạ của các mảng, chúng tôi có thể dễ dàng xử lý các mục nhập bị thiếu, không hợp lệ hoặc không mong muốn trong mảng hoặc bộ dữ liệu/dataframe của chúng tôi. Mặt nạ là công việc cần thiết với danh sách các giá trị boolean, tức là đúng hoặc sai khi được áp dụng cho một mảng ban đầu để trả về yếu tố quan tâm, ở đây thực sự đề cập đến giá trị thỏa mãn điều kiện đã cho trong khi sai đề cập đến các giá trị không thỏa mãn tình trạng.
Chúng ta có thể che giấu mảng bằng cách sử dụng một cái khác bằng cách sử dụng các chức năng sau:-
numpy.ma.masked_where [điều kiện, mảng]
numpy.ma.getmask[arr]
numpy.ma.masked_array [mảng, mặt nạ =]
where,
Điều kiện: Điều kiện để che giấu condition for masking
mảng: mảng được chearr to be masked
Mặt nạ: Kết quả của mảng đeo mặt nạresult of masked array
Các bước cần thiết
- Nhập thư viện.
- Tạo một chức năng để che giấu.
- Mặt nạ có thể được thực hiện bằng cách làm theo hai cách tiếp cận:-
- Sử dụng hàm Masked_where []: Truyền hai mảng trong hàm dưới dạng tham số sau đó sử dụng hàm numpy.ma.masked_where [] trong đó vượt qua điều kiện để che giấu và mảng được che dấu. Trong đó, chúng tôi đang đưa ra điều kiện để che giấu bằng cách sử dụng một mảng và che dấu một mảng khác cho điều kiện đó. Pass the two array in the function as a parameter then use numpy.ma.masked_where[] function in which pass the condition for masking and array to be masked. In this we are giving the condition for masking by using one array and masking the another array for that condition.
- Sử dụng hàm masked_where [], getmask [] và masked_array [] hàm: Chuyển hai mảng trong hàm làm tham số sau đó sử dụng hàm numpy.ma.masked_where [] Sử dụng cùng một mảng mà chúng tôi đang đưa ra điều kiện để tạo và mảng được che dấu và lưu trữ kết quả trong biến, sau đó sử dụng hàm numpy.ma.getmask [] trong đó vượt qua kết quả của chức năng đánh dấu_where và lưu trữ nó trong biến Được đặt tên là 'res_mask'. Bây giờ, che giấu một mảng khác bằng cách sử dụng mặt nạ đã tạo, cho điều này, chúng tôi đang sử dụng hàm numpy.ma.masked_array [] trong đó truyền mảng sẽ được tạo và mặt nạ tham số = 'res_mask' để tạo mảng bằng một mảng khác và lưu trữ nó một biến được đặt tên là 'mặt nạ'.Pass the two array in the function as a parameter then use numpy.ma.masked_where[] function in which pass the condition for masking and array to be masked in this we are using the same array for which we are giving condition for making and the array to be masked and store the result in the variable, then use numpy.ma.getmask[] function in which pass the result of marked_where function and store it in the variable named as ‘res_mask’. Now mask another array using the created mask, for this, we are using numpy.ma.masked_array[] function in which pass the array to be made and the parameter mask=’res_mask’ for making the array using another array and store it in a variable let be named as ‘masked’.
- Sau đó trả về mặt nạ từ chức năng.
- Bây giờ tạo chức năng chính
- Tạo hai mảng một cho mặt nạ khác.
- Sau đó, gọi hàm như chúng tôi đã tạo ở trên và chuyển cả hai mảng trong hàm dưới dạng tham số và lưu trữ kết quả trong một biến có tên là ‘mặt nạ.
- Bây giờ để nhận được mảng dưới dạng mảng 1-D, chúng tôi đang sử dụng numpy.ma.com đã ghi chép [] vượt qua mặt nạ làm tham số.
- Sau đó in mảng đeo mặt nạ.
Ví dụ 1: Mặt nạ mảng đầu tiên bằng cách sử dụng mảng thứ hai first array using the second array
Trong ví dụ trên, chúng tôi đang che giấu mảng thứ nhất bằng cách sử dụng mảng thứ hai trên cơ sở điều kiện mỗi phần tử của mảng 7 mod 7 là đúng, các phần tử đáp ứng điều kiện ở các phần tử chỉ mục đó được che trong mảng đầu tiên.
Vì chúng tôi có mảng1 = [1,2,4,5,7,8,9] và mảng2 = [10,12,14,5,7,0,13], chúng tôi đã đưa ra điều kiện mảng2%7 nên Mảng2 phần tử 14, 7 và 0 thỏa mãn điều kiện và chúng có mặt ở chỉ số 2,4 và 5 vì vậy tại cùng một chỉ số trong các phần tử Array1 được che dấu nên mảng kết quả chúng ta có [4 7 8].
Python
import
numpy as np
def
masking[ar1, ar2]:
mask
=
np.ma.masked_where[ar2
%
7
____10
numpy as np
2 numpy as np
3
numpy as np
4 numpy as np
5=
=
numpy as np
8numpy as np
9
def
1=
def
3def
4def
5____26def
5def
8def
5____________def
5____________def
5masking[ar1, ar2]:
4____25masking[ar1, ar2]:
6masking[ar1, ar2]:
7
masking[ar1, ar2]:
9=
def
3
2def
5__4444425
6def
5____________def
5____________def
5mask
25____25mask
4masking[ar1, ar2]:
7
mask
7=
mask
9
=
1=
=
3
=
5=
6=
7=
8
Output:
Ví dụ 2: Mặt nạ mảng thứ hai bằng mảng đầu tiên
Trong ví dụ trên, chúng tôi đang che giấu mảng thứ hai bằng mảng thứ nhất, tạo ra mảng điều kiện1
Vì chúng ta có mảng1 = [1,2,4,5,7,8,9] và mảng2 = [10,12,14,5,7,0,13], vì vậy trong các phần tử ARRAY1 1,2 và 4 ít hơn so với 5 chúng có mặt ở chỉ mục 0,1 và 2, do đó, phần tử này thỏa mãn điều kiện nên trong Array2, các phần tử có cùng chỉ mục được che dấu và chúng tôi đang sử dụng hàm numpy.ma.com được điều trị giá trị không mặt nạ. & nbsp; để chúng ta có [5 7 0 10] sau khi che giấu. & nbsp;
Python
import
numpy as np
def
masking[ar1, ar2]:
mask
=
np.ma.masked_where[ar2
%
7
____10
np.ma.masked_where[ar2
3numpy as np
2 numpy as np
3
numpy as np
4 numpy as np
5=
=
numpy as np
8numpy as np
9
Các
np.ma.masked_where[ar2
3masking[ar1, ar2]:
9=
def
3
27
3____4444 ____93
6masking[ar1, ar2]:
____masking[ar1, ar2]:
0 ____93__
np.ma.masked_where[ar2
3mask
7=
numpy as np
27
np.ma.masked_where[ar2
3=
1=
=
3
np.ma.masked_where[ar2
3=
5=
6=
7=
8
Output:
Ví dụ 3: Mặt nạ mảng thứ nhất bằng hàm thứ hai mặc dù getmask []
Trong ví dụ trên, để tạo mặt nạ của mảng thứ nhất bằng cách sử dụng mảng thứ hai, trước tiên chúng tôi đang tạo mặt nạ của mảng thứ hai bằng cách đưa ra điều kiện AR2%3 cho AR2. Sau đó, chúng tôi đang sử dụng hàm numpy.ma.getmask [] trong đó chúng tôi đang chuyển kết quả của mặt nạ được tạo, sau đó chúng tôi đang tạo mặt nạ của mảng đầu tiên bằng cách sử dụng numpy.ma.masked_array [] trong đó vượt qua AR1 và vượt qua mặt nạ = res_mask là mặt nạ của mảng2.
Theo cách này, chúng ta có thể làm mặt nạ của một mảng bằng một mảng khác.
Python
import
numpy as np
def
masking[ar1, ar2]:
np.ma.masked_where[ar2
3mask
=
numpy as np
44%
numpy as np
46np.ma.masked_where[ar2
8
np.ma.masked_where[ar2
3numpy as np
49=
numpy as np
51
np.ma.masked_where[ar2
3mask
7=
numpy as np
55=
numpy as np
57
np.ma.masked_where[ar2
3numpy as np
2 numpy as np
60
numpy as np
4 numpy as np
5=
=
numpy as np
8numpy as np
9
Các
np.ma.masked_where[ar2
3masking[ar1, ar2]:
9=
def
3
27
3____4444 ____93
6masking[ar1, ar2]:
____masking[ar1, ar2]:
0 ____93__
np.ma.masked_where[ar2
3mask
7=
numpy as np
27
np.ma.masked_where[ar2
3=
1=
=
3
np.ma.masked_where[ar2
3=
5=
6=
7=
8
Output:
Ví dụ 3: Mặt nạ mảng thứ nhất bằng hàm thứ hai mặc dù getmask []
Trong ví dụ trên, để tạo mặt nạ của mảng thứ nhất bằng cách sử dụng mảng thứ hai, trước tiên chúng tôi đang tạo mặt nạ của mảng thứ hai bằng cách đưa ra điều kiện AR2%3 cho AR2. Sau đó, chúng tôi đang sử dụng hàm numpy.ma.getmask [] trong đó chúng tôi đang chuyển kết quả của mặt nạ được tạo, sau đó chúng tôi đang tạo mặt nạ của mảng đầu tiên bằng cách sử dụng numpy.ma.masked_array [] trong đó vượt qua AR1 và vượt qua mặt nạ = res_mask là mặt nạ của mảng2.
Theo cách này, chúng ta có thể làm mặt nạ của một mảng bằng một mảng khác.
Python
import
numpy as np
def
masking[ar1, ar2]:
np.ma.masked_where[ar2
3mask
=
numpy as np
44%
numpy as np
46np.ma.masked_where[ar2
8
np.ma.masked_where[ar2
3numpy as np
49=
numpy as np
51
np.ma.masked_where[ar2
3mask
7=
numpy as np
55=
numpy as np
57
np.ma.masked_where[ar2
3numpy as np
2 numpy as np
60
numpy as np
4 numpy as np
5=
=
numpy as np
8numpy as np
9
Các
np.ma.masked_where[ar2
3masking[ar1, ar2]:
9=
def
3
27
3____4444 ____93
6masking[ar1, ar2]:
____masking[ar1, ar2]:
0 ____93__
np.ma.masked_where[ar2
3mask
7=
numpy as np
27
np.ma.masked_where[ar2
3=
1=
=
3
np.ma.masked_where[ar2
3=
5=
6=
7=
8
Output: