drop columns that are all nan pandas code example

Example 1: find all nan columns pandas

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))

Example 2: drop columns with nan pandas

>>> df.dropna(axis='columns')
       name
0    Alfred
1    Batman
2  Catwoman

Example 3: pandas drop rows with nan in a particular column

In [30]: df.dropna(subset=[1])   #Drop only if NaN in specific column (as asked in the question)
Out[30]:
          0         1         2
1  2.677677 -1.466923 -0.750366
2       NaN  0.798002 -0.906038
3  0.672201  0.964789       NaN
5 -1.250970  0.030561 -2.678622
6       NaN  1.036043       NaN
7  0.049896 -0.308003  0.823295
9 -0.310130  0.078891       NaN

Example 4: drop column with nan values

fish_frame = fish_frame.dropna(axis = 1, how = 'all')