Pandas don't support missing in attributes of type integer. For example if you have missings in the grade column:
df= pd.read_csv("data.csv", dtype={'grade': int})
error: Integer column has NA values
In this case you just should use float instead of integers or set the object dtype.