2016-12-05 82 views
1

我發現一些值似乎所有列都爲空。 示例如下 enter image description here爲什麼我的數據框中沒有行都是空值?

我想刪除那裏的行。但是,當我使用下面的鏈接中的方法時,返回數據幀沒有應該表示全部空值行的行。 Python Pandas find all rows where all values are NaN

所以我想知道我的數據框有什麼問題。 NA是否重要? 我應該怎麼做才能得到空行的行號?

此外,我用

df_features.loc[df_features['sexo'].isnull() & (df_features['age']=='NA'),:] 

但它從我的數據幀不返回行。

回答

1

我認爲你需要boolean indexingnotnull創建面膜:

df_features[df_features['sexo'].notnull()] 

看來你需要:

df_features[(df_features['sexo'].notnull()) & (df_features['age'] != 'NA')] 

樣品:

df_features = pd.DataFrame({'sexo':[np.nan,2,3], 
        'age':['10','20','NA']}) 

print (df_features) 
    age sexo 
0 10 NaN 
1 20 2.0 
2 NA 3.0 

a = df_features[(df_features['sexo'].notnull()) & (df_features['age'] != 'NA')] 
print (a) 
    age sexo 
1 20 2.0 

但似乎你與01共謀值不是數字,而是字符串。

如果需要一些列轉換爲數字,嘗試to_numeric,參數errors='coerce'方式轉變,不能再見解析爲數字的所有值NaN

df_features = pd.DataFrame({'sexo':[np.nan,2,3], 
        'age':['10','20','NA']}) 

print (df_features) 
    age sexo 
0 10 NaN 
1 20 2.0 
2 NA 3.0 

df_features['age'] = pd.to_numeric(df_features['age'], errors='coerce') 
print (df_features) 
    age sexo 
0 10.0 NaN 
1 20.0 2.0 
2 NaN 3.0 

a = df_features[(df_features['sexo'].notnull()) & (df_features['age'].notnull())] 
print (a) 
    age sexo 
1 20.0 2.0 
+0

呀,我找到NA是字符串和數據他們是' NA'和'NA'。 – yanachen

相關問題