假设您想要所有“ err”列中的最大值,则可以执行以下操作:
max(t[c].max() for c in t.colnames if 'err' in c)
对于最大每行来说,这有点棘手,因为Astropy表中的数据通常是面向列的。将相关列转换为Numpy数组并沿行轴广播max函数可能是最简单的。这有点棘手,因为您需要将数组从混合类型转换为单一类型(假设所有“ err”列都是相同的dtype,例如float64):
err_cols = [c for c in t.colnames if 'err' in c]
t.as_array(names=err_cols).view(dtype=float).reshape((len(t), len(err_cols))).max(axis=1)