我有一个numpy数组(类型numpy.ndarray
),其中有几行缺少值(所有缺失的值都是精确的)。如果数组包含缺失值,如何从数组中删除行?
答案 0 :(得分:2)
将np.isfinite
与np.any
或np.all
与axis
参数结合使用。
a = np.round(np.random.normal(size=(5, 3)), 1)
a[1, 2] = np.nan
a[2] = np.nan
print(a)
print(a[np.all(np.isfinite(a), axis=1)]) # Removes rows with any non-finite values.
print(a[np.any(np.isfinite(a), axis=1)]) # Removes rows that are all non-finite.