📅  最后修改于: 2023-12-03 15:03:18.760000             🧑  作者: Mango
numpy recarray.compress()
函数是一个用于压缩numpy结构化数组的函数。
numpy.recarray.compress(condition, axis=None, out=None)
condition
: 布尔数组或布尔数组的列表,用于筛选待压缩的元素。axis
: 轴编号,为None时压缩数组为一维。out
: 输出数组,可选。返回压缩后的结构化数组。
import numpy as np
a = np.array([(1,2,3), (4,5,6), (7,8,9)], dtype=[('A', 'i4'), ('B', 'i4'), ('C', 'i4')])
print("原数组:")
print(a)
condition = np.array([False, True, False])
result = np.recarray.compress(condition, a)
print("压缩后的数组:")
print(result)
输出:
原数组:
[(1, 2, 3) (4, 5, 6) (7, 8, 9)]
压缩后的数组:
[(4, 5, 6)]
在上面的示例中,我们首先创建了一个结构化数组a
,包含三个元素,每个元素有三个字段A
、B
、C
。然后我们定义了一个布尔数组condition
,表示压缩后只保留第二个元素。最后我们调用函数numpy.recarray.compress()
,压缩原数组并输出压缩后的数组。