比较两个NumPy数组,并返回忽略NaN的逐元素最小值
要比较两个数组并返回忽略NaN的逐元素最小值,请在Python NumPy中使用**numpy.fmin()**方法。返回值为True或False。
比较两个数组,并返回一个新数组,其中包含逐元素最大值。如果被比较的元素之一是NaN,则返回非NaN元素。如果两个元素都是NaN,则返回第一个。后一种区别对于复数NaN很重要,复数NaN定义为实部或虚部至少有一个是NaN。其最终效果是,尽可能忽略NaN。
步骤
首先,导入所需的库:
import numpy as np
使用array()方法创建两个二维NumPy数组。我们插入了一些包含NaN值的元素:
arr1 = np.array([[6, 9, np.NaN],[25, 11, 21]]) arr2 = np.array([[8, np.NaN, np.NaN],[22, 19, 26]])
显示数组:
print("Array 1...
", arr1) print("
Array 2...
", arr2)
获取数组的类型:
print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype)
获取数组的维度:
print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim)
获取数组的形状:
print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape)
要比较两个数组并返回忽略NaN的逐元素最小值,请在Python NumPy中使用numpy.fmin()方法。返回值为True或False:
print("
Result (minimum ignoring NaNs)...
",np.fmin(arr1, arr2))
示例
import numpy as np # Creating two 2D numpy array using the array() method # We have inserted elements with some NaN values arr1 = np.array([[6, 9, np.NaN],[25, 11, 21]]) arr2 = np.array([[8, np.NaN, np.NaN],[22, 19, 26]]) # Display the arrays print("Array 1...
", arr1) print("
Array 2...
", arr2) # Get the type of the arrays print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype) # Get the dimensions of the Arrays print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim) # Get the shape of the Arrays print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape) # To compare two arrays and return the element-wise minimum ignoring NaNs, use the numpy.fmin() method in Python Numpy # Return value is either True or False print("
Result (minimum ignoring NaNs)...
",np.fmin(arr1, arr2))
输出
Array 1... [[ 6. 9. nan] [25. 11. 21.]] Array 2... [[ 8. nan nan] [22. 19. 26.]] Our Array 1 type... float64 Our Array 2 type... float64 Our Array 1 Dimensions... 2 Our Array 2 Dimensions... 2 Our Array 1 Shape... (2, 3) Our Array 2 Shape... (2, 3) Result (minimum ignoring NaNs)... [[ 6. 9. nan] [22. 11. 21.]]
广告