Pandas 删除包含所有Nan的列

Pandas 删除包含所有Nan的列,pandas,dataframe,Pandas,Dataframe,我想学习从这个数据框架中删除所有具有所有NAN的列的最佳方法。在本例中,它将删除列Nan1和Nan2 我觉得有一个很好的方法可以做到这一点 AFAIK是最惯用的方法: x = pd.DataFrame({'x':[np.nan, 22, 11, np.nan, np.nan], 'letters':['a', 'a', 'b', 'b', 'b'], 'Nan1': [np.nan, np.nan, np.nan, n

我想学习从这个数据框架中删除所有具有所有NAN的列的最佳方法。在本例中,它将删除列Nan1和Nan2

我觉得有一个很好的方法可以做到这一点

AFAIK是最惯用的方法:

 x = pd.DataFrame({'x':[np.nan, 22, 11, np.nan, np.nan],
                   'letters':['a', 'a', 'b', 'b', 'b'],
                   'Nan1': [np.nan, np.nan, np.nan, np.nan, np.nan],
                   'bools': [True, True, False, True, False],
                   'Nan2': [np.nan, np.nan, np.nan, np.nan, np.nan],
                   'y': [100,200,11,333, 70]})
AFAIK是最惯用的方法:

 x = pd.DataFrame({'x':[np.nan, 22, 11, np.nan, np.nan],
                   'letters':['a', 'a', 'b', 'b', 'b'],
                   'Nan1': [np.nan, np.nan, np.nan, np.nan, np.nan],
                   'bools': [True, True, False, True, False],
                   'Nan2': [np.nan, np.nan, np.nan, np.nan, np.nan],
                   'y': [100,200,11,333, 70]})
您可以使用loc:

您可以使用loc:

将dropna与thresh thresh:int一起使用,默认为无 int值:需要许多非NA值

将dropna与thresh thresh:int一起使用,默认为无 int值:需要许多非NA值

这对我有用

x.dropna(1,thresh=1)
Out[721]: 
   bools letters     x    y
0   True       a   NaN  100
1   True       a  22.0  200
2  False       b  11.0   11
3   True       b   NaN  333
4  False       b   NaN   70
这对我有用

x.dropna(1,thresh=1)
Out[721]: 
   bools letters     x    y
0   True       a   NaN  100
1   True       a  22.0  200
2  False       b  11.0   11
3   True       b   NaN  333
4  False       b   NaN   70

好吧,让我来回答一个问题:-@Wen,当然可以-好吧,让我来回答一个问题:-@Wen,当然可以-
x.dropna(axis=1, how='all', inplace=True)