設定NumPy掩碼陣列的填充值
要設定掩碼陣列的填充值,請在Python NumPy中使用**ma.MaskedArray.set_fill_value()**方法。掩碼陣列的填充值是一個標量。
掩碼陣列是標準numpy.ndarray和掩碼的組合。掩碼要麼是nomask,表示關聯陣列的任何值均有效,要麼是一個布林陣列,用於確定關聯陣列的每個元素的值是否有效。
NumPy提供全面的數學函式、隨機數生成器、線性代數例程、傅立葉變換等等。它支援各種硬體和計算平臺,並且與分散式、GPU和稀疏陣列庫相容良好。
步驟
首先,匯入所需的庫:
import numpy as np import numpy.ma as ma
使用numpy.array()方法建立一個包含整數元素的陣列:
arr = np.array([[65, 68, 81], [93, 33, 39], [73, 88, 51], [62, 45, 67]])
print("Array...
", arr)
print("
Array type...
", arr.dtype)獲取陣列的維度:
print("
Array Dimensions...
",arr.ndim)
建立一個掩碼陣列並掩蓋其中一些無效的值。我們使用fill_value引數來設定填充值:
maskArr = ma.masked_array(arr, mask =[[1, 1, 0], [ 1, 0, 0], [0, 1, 0], [0, 1, 0]], fill_value = 9999)
print("
Our Masked Array
", maskArr)
print("
Our Masked Array type...
", maskArr.dtype)獲取掩碼陣列的維度:
print("
Our Masked Array Dimensions...
",maskArr.ndim)
獲取掩碼陣列的形狀:
print("
Our Masked Array Shape...
",maskArr.shape)獲取掩碼陣列的元素個數:
print("
Elements in the Masked Array...
",maskArr.size)
要獲取填充值,請使用ma.MaskedArray.get_fill_value()方法:
print("
Result (fill value)...
",maskArr.get_fill_value())要設定掩碼陣列的填充值,請使用ma.MaskedArray.set_fill_value()方法。掩碼陣列的填充值是一個標量:
maskArr.set_fill_value(1111)
print("
Result (updated fill value)...
",maskArr.get_fill_value())示例
import numpy as np
import numpy.ma as ma
# Create an array with int elements using the numpy.array() method
arr = np.array([[65, 68, 81], [93, 33, 39], [73, 88, 51], [62, 45, 67]])
print("Array...
", arr)
print("
Array type...
", arr.dtype)
# Get the dimensions of the Array
print("
Array Dimensions...
",arr.ndim)
# Create a masked array and mask some of them as invalid
# We have used the fill_value parameter to set the fill value
maskArr = ma.masked_array(arr, mask =[[1, 1, 0], [ 1, 0, 0], [0, 1, 0], [0, 1, 0]], fill_value = 9999)
print("
Our Masked Array
", maskArr)
print("
Our Masked Array type...
", maskArr.dtype)
# Get the dimensions of the Masked Array
print("
Our Masked Array Dimensions...
",maskArr.ndim)
# Get the shape of the Masked Array
print("
Our Masked Array Shape...
",maskArr.shape)
# Get the number of elements of the Masked Array
print("
Elements in the Masked Array...
",maskArr.size)
# To get the fill value, use the ma.MaskedArray.get_fill_value() method
print("
Result (fill value)...
",maskArr.get_fill_value())
# To set the fill value of a masked array, use the ma.MaskedArray.set_fill_value() method
# The filling value of the masked array is a scalar maskArr.set_fill_value(1111)
print("
Result (updated fill value)...
",maskArr.get_fill_value())輸出
Array... [[65 68 81] [93 33 39] [73 88 51] [62 45 67]] Array type... int64 Array Dimensions... 2 Our Masked Array [[-- -- 81] [-- 33 39] [73 -- 51] [62 -- 67]] Our Masked Array type... int64 Our Masked Array Dimensions... 2 Our Masked Array Shape... (4, 3) Elements in the Masked Array... 12 Result (fill value)... 9999 Result (updated fill value)... 9999
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP