I have some dataframes, which contain a lot of nan.

i want to make a mask by the frist dataframe, then only keep those columns which contains no np.nan in the first datafame.

let me give an example:

```
In [69]: df = pd.DataFrame(np.reshape(range(25), (5,5)))

In [70]: df
Out[70]: 
    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19
4  20  21  22  23  24

In [71]: df[5] = np.nan

In [72]: df
Out[72]: 
    0   1   2   3   4   5
0   0   1   2   3   4 NaN
1   5   6   7   8   9 NaN
2  10  11  12  13  14 NaN
3  15  16  17  18  19 NaN
4  20  21  22  23  24 NaN
### the following is the mask
In [73]: np.isnan(df)
Out[73]: 
       0      1      2      3      4     5
0  False  False  False  False  False  True
1  False  False  False  False  False  True
2  False  False  False  False  False  True
3  False  False  False  False  False  True
4  False  False  False  False  False  True

In [74]: df[~np.isnan(df)]
Out[74]: 
    0   1   2   3   4   5
0   0   1   2   3   4 NaN
1   5   6   7   8   9 NaN
2  10  11  12  13  14 NaN
3  15  16  17  18  19 NaN
4  20  21  22  23  24 NaN

```

you can see, i use np.isnan to create a mask.
then use `df[mask]` to filter.

but it looks failed, the output still contains column5. is there anything i used wrongly?