nan_cols = [i for i in df.columns if df[i].isnull().any()]
print("No. of columns containing null values")
print(len(df.columns[df.isna().any()]))
print("No. of columns not containing null values")
print(len(df.columns[df.notna().all()]))
print("Total no. of columns in the dataframe")
print(len(df.columns))
# position of NaN values in terms of index
df.loc[pandas.isna(df["b"]), :].index
# position of NaN values in terms of rows that cotnain NaN
df.loc[pandas.isna(df["b"]), :]