2017-02-21 69 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'}