bugfix: use pd.isnull() instead of math.isnan()