I have a data set which contains values like "last_foo" containing the number of days since the last time foo occurred. Naturally this feature contains NaNs for examples that have never foo'd. What's the best way to address this so I can use these features with scikit-learn models that don't allow missing data? I can't replace with 0 since that would mean foo happened 0 days ago, which is valid data here.
I thought I might use KBinsDiscretizer to bin the data into one-hot features and for the examples with no foo events they wouldn't have any of the bins set to 1, but KBinsDiscretizer doesn't work on nulls. My next idea is to replace NaNs with the max value or possibly max + some amount, but that seems wrong. Same for mean replacement, which is certainly not right - the fact that foo never happened is significant to the system I'm trying to analyze.
Are there other approaches I should consider? Thank you!