2017-02-21 90 views
0

我想選擇與數值包括空中選擇列與數值包括空

使用此代碼

numeric_cols=set(dfAcepCtrUsers.select_dtypes(include=[np.number]).columns.values) 

這將排除空值的列一樣

col 
=== 
1 
2 
None 

什麼是列選擇數字列的正確方法包括這些列?

回答

0

你可以先嚐試所有列轉換在數據幀爲數值型與

df.apply(lambda x: pd.to_numeric(x, errors='ignore')) 

,同時非數字列將被單獨留在家中。

然後,您的列包括None將不再是dtype object,並且應該使用select_dtypes來捕獲。

演示

>>> df 
    nulls strings 
0  3  foo 
1  2  bar 
2 None  baz 

>>> set(df.select_dtypes(include=[np.number])) 
set() 

>>> df = df.apply(lambda x: pd.to_numeric(x, errors='ignore')) 

>>> df 
    nulls strings 
0 3.0  foo 
1 2.0  bar 
2 NaN  baz 

>>> set(df.select_dtypes(include=[np.number])) 
{'nulls'}