import numpy as np readings = np.array([21.5, np.nan, 19.0, np.nan, 22.0]) valid_values = ~np.isnan(readings) filtered_values = readings[valid_values] samples = np.array( [ [21.5, 0.98], [np.nan, 0.95], [19.0, np.nan], [22.0, 0.96], ] ) complete_rows = ~np.isnan(samples).any(axis=1) filtered_rows = samples[complete_rows] print("valid value mask:", valid_values) print("filtered values:", filtered_values) print("remaining value NaNs:", np.isnan(filtered_values).any()) print("complete row mask:", complete_rows) print("filtered rows:") print(filtered_rows) print("remaining row NaNs:", np.isnan(filtered_rows).any())