Hướng dẫn what does masked mean in python? - mặt nạ có nghĩa là gì trong trăn?

Rationale#

Mảng đeo mặt nạ là các mảng có thể bị thiếu hoặc không hợp lệ. Mô-đun

>>> import numpy as np
>>> import numpy.ma as ma
3 cung cấp một sự thay thế gần như công việc cho Numpy hỗ trợ các mảng dữ liệu bằng mặt nạ.

Mảng đeo mặt nạ là gì?#

Trong nhiều trường hợp, các bộ dữ liệu có thể không đầy đủ hoặc bị nhiễm độc bởi sự hiện diện của dữ liệu không hợp lệ. Ví dụ, một cảm biến có thể không ghi được dữ liệu hoặc ghi lại một giá trị không hợp lệ. Mô -đun

>>> import numpy as np
>>> import numpy.ma as ma
3 cung cấp một cách thuận tiện để giải quyết vấn đề này, bằng cách giới thiệu các mảng đeo mặt nạ.

Một mảng đeo mặt nạ là sự kết hợp của một

>>> import numpy as np
>>> import numpy.ma as ma
5 tiêu chuẩn và mặt nạ. Mặt nạ là
>>> import numpy as np
>>> import numpy.ma as ma
6, chỉ ra rằng không có giá trị nào của mảng liên quan không hợp lệ hoặc một mảng booleans xác định cho từng phần tử của mảng liên quan cho dù giá trị có hợp lệ hay không. Khi một phần tử của mặt nạ là
>>> import numpy as np
>>> import numpy.ma as ma
7, phần tử tương ứng của mảng liên quan là hợp lệ và được cho là không được giải quyết. Khi một phần tử của mặt nạ là
>>> import numpy as np
>>> import numpy.ma as ma
8, phần tử tương ứng của mảng liên quan được cho là bị che dấu [không hợp lệ].

Gói đảm bảo rằng các mục đeo mặt nạ không được sử dụng trong các tính toán.

Như một minh họa, hãy để xem xét các bộ dữ liệu sau:

>>> import numpy as np
>>> import numpy.ma as ma
>>> x = np.array[[1, 2, 3, -1, 5]]

Chúng tôi muốn đánh dấu mục thứ tư là không hợp lệ. Dễ nhất là tạo ra một mảng đeo mặt nạ:

>>> mx = ma.masked_array[x, mask=[0, 0, 0, 1, 0]]

Bây giờ chúng ta có thể tính toán giá trị trung bình của bộ dữ liệu, mà không cần tính đến dữ liệu không hợp lệ:

Mô -đun
>>> import numpy as np
>>> import numpy.ma as ma
3#

Tính năng chính của mô -đun

>>> import numpy as np
>>> import numpy.ma as ma
3 là lớp
>>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
1, là một lớp con của
>>> import numpy as np
>>> import numpy.ma as ma
5. Lớp, các thuộc tính và phương thức của nó được mô tả chi tiết hơn trong phần lớp MaskedArray.MaskedArray class section.

Mô -đun

>>> import numpy as np
>>> import numpy.ma as ma
3 có thể được sử dụng như là một bổ sung cho
>>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
4:

>>> import numpy as np
>>> import numpy.ma as ma

Để tạo một mảng với phần tử thứ hai không hợp lệ, chúng tôi sẽ làm:

>>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]

Để tạo một mảng đeo mặt nạ trong đó tất cả các giá trị gần 1.e20 không hợp lệ, chúng tôi sẽ làm:

>>> z = ma.masked_values[[1.0, 1.e20, 3.0, 4.0], 1.e20]

Để thảo luận đầy đủ về các phương thức tạo cho các mảng đeo mặt nạ, vui lòng xem phần Xây dựng các mảng đeo mặt nạ.Constructing masked arrays.

Sử dụng numpy.ma#

Xây dựng mảng đeo mặt nạ#

Có một số cách để xây dựng một mảng đeo mặt nạ.

  • Một khả năng đầu tiên là trực tiếp gọi lớp

    >>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
    
    1.

  • Khả năng thứ hai là sử dụng hai hàm tạo mảng đeo mặt nạ,

    >>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
    
    6 và
    >>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
    
    7.

    >>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
    
    6[data[, dtype, copy, order, mask, ...]]

    Một lớp mảng có giá trị đeo mặt nạ có thể.

    >>> y = ma.array[[1, 2, 3], mask = [0, 1, 0]]
    
    7

    bí danh của

    >>> z = ma.masked_values[[1.0, 1.e20, 3.0, 4.0], 1.e20]
    
    0

  • Tùy chọn thứ ba là đưa ra chế độ xem của một mảng hiện có. Trong trường hợp đó, mặt nạ của chế độ xem được đặt thành

    >>> import numpy as np
    >>> import numpy.ma as ma
    
    6 nếu mảng không có trường tên hoặc một mảng boolean có cùng cấu trúc với mảng khác.

    >>> x = np.array[[1, 2, 3]]
    >>> x.view[ma.MaskedArray]
    masked_array[data=[1, 2, 3],
                 mask=False,
           fill_value=999999]
    >>> x = np.array[[[1, 1.], [2, 2.]], dtype=[['a',int], ['b', float]]]
    >>> x.view[ma.MaskedArray]
    masked_array[data=[[1, 1.0], [2, 2.0]],
                 mask=[[False, False], [False, False]],
           fill_value=[999999, 1.e+20],
                dtype=[['a', '

Chủ Đề