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]})
我想学习删除此DataFrame中所有拥有所有NaN的列的最佳方法。在这种情况下,它会删除Nan1和Nan2列。
我有一种感觉,这是一个很好的方法!
答案 0 :(得分:5)
AFAIK DataFrame.dropna()是最常用的方法:
In [17]: x = x.dropna(how='all', axis=1)
In [18]: x
Out[18]:
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
答案 1 :(得分:2)
将url(r'^(?P<u_slug>\w+)$',views.UniversityView.as_view(),name='university_homepage'),
与url(r'^(?P<u_slug>[-\w]+)$',views.UniversityView.as_view(),name='university_homepage'),
一起使用(thresh:int,默认为无
int值:要求许多非NA 值)
dropna
答案 2 :(得分:0)
您可以使用loc
:
x.loc[:, ~x.isnull().all()]
答案 3 :(得分:0)
这对我有用
x.dropna(axis=1, how='all', inplace=True)