📅  最后修改于: 2023-12-03 14:46:35.942000             🧑  作者: Mango
numpy.compress()
是NumPy库中的一个函数,用于根据给定的条件从数组中返回被压缩的元素。它可以用于选择数组中满足特定条件的元素,并返回一个新的数组。
numpy.compress(condition, array, axis=None, out=None)
参数:
condition
:用于选择数组元素的条件。它可以是一个布尔数组,或者是一个能够返回布尔值的函数。array
:需要被压缩的输入数组。axis
:指定应用压缩操作的轴。默认情况下,所有数组元素都被压缩为一维数组。out
:用于存储结果的可选输出数组。返回值:被压缩的数组。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 选择满足条件 arr > 5 的元素
compressed_arr = np.compress(arr > 5, arr)
print('Compressed Array:', compressed_arr)
输出结果:
Compressed Array: [6 7 8 9]
在这个示例中,我们创建了一个二维数组arr
。然后,使用条件arr > 5
选择了大于5的元素,并将它们压缩为一维数组compressed_arr
。最后,我们打印了压缩后的数组。
numpy.compress()
函数还可以沿着指定的轴进行压缩操作。通过指定axis
参数,我们可以在指定的轴上压缩数组。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 沿轴0压缩,即对每一列进行压缩
compressed_arr = np.compress(arr > 5, arr, axis=0)
print('Compressed Array along axis 0:', compressed_arr)
输出结果:
Compressed Array along axis 0: [[4 5 6]
[7 8 9]]
在这个示例中,我们沿着轴0(列)压缩了数组。结果是一个仅包含满足条件arr > 5
的列的二维数组。
numpy.compress()
函数是一个非常有用的工具,用于选择满足特定条件的数组元素并返回一个新的数组。我们可以选择所有维度中满足条件的元素,也可以仅选择特定的轴进行压缩操作。这个函数在处理大型数组和数据处理时非常有用,可以帮助我们快速过滤和选择数组元素。