the problem is that you try to map strings in the Sex columns to integers, while this column is already an integer. So the column after such mapping is filled with np.nan. This leads to all rows being filtered out, when you do df.dropna() in the predictor node.