def useless_columns(df): """Returns list of columns with less than 30 not null values""" columns = [] for col in df.columns: # isnull returns a list-like object with True is an element in the column is NaN and False if element has value null_list = pd.isnull(df[col]) real_values = len([i for i in null_list if i != True]) if real_values < 30: columns.append(col) return columns super_df.drop(useless_columns(super_df), axis=1, inplace=True)