2014-02-14 108 views
1

我有一个数据帧,其中一些列(不是行)就像["","","",""]检测某些列并删除这些

那些列特征我想删除。

有没有这样做的有效方式?

+0

嗨,你可以发表你的整个数据结构,所以我们可以看到你正在试图做的? – theAlse

+0

Dataframe?那么你使用'pandas'? –

回答

0

pandas这将是del df['columnname']

0

要删除所有值为空的列,首先需要检测哪些列只包含空值。

所以我做出了表率数据帧是这样的:

 empty full nanvalues notempty 
0    3  NaN   1 
1    4  NaN   2 

使用的应用功能,我们可以整个列比较空字符串,然后聚集打倒.all()方法。

empties = (df.astype(str) == "").all() 
empties 

empty   True 
full   False 
nanvalues False 
notempty  False 
dtype: bool 

现在我们可以删除这些列

empty_mask = empties.index[empties] 
df.drop(empty_mask, axis=1) 

    full nanvalues notempty 
0  3  NaN   1 
1  4  NaN   2