it is hard to know the number of columns which contains Nan value from dataframe which has 3000 or more than that ..use the following command to get the list of columns which contains Nan values
print(df.columns[df.isna().any()])