Remove NaN/NULL columns in a Pandas dataframe?

shelly picture shelly · Jun 2, 2012 · Viewed 70.7k times · Source

I have a dataFrame in pandas and several of the columns have all null values. Is there a built in function which will let me remove those columns?

Answer

Wes McKinney picture Wes McKinney · Jun 2, 2012

Yes, dropna. See http://pandas.pydata.org/pandas-docs/stable/missing_data.html and the DataFrame.dropna docstring:

Definition: DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None)
Docstring:
Return object with labels on given axis omitted where alternately any
or all of the data are missing

Parameters
----------
axis : {0, 1}
how : {'any', 'all'}
    any : if any NA values are present, drop that label
    all : if all values are NA, drop that label
thresh : int, default None
    int value : require that many non-NA values
subset : array-like
    Labels along other axis to consider, e.g. if you are dropping rows
    these would be a list of columns to include

Returns
-------
dropped : DataFrame

The specific command to run would be:

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