我想选择包含数字值的列,包括null
使用此代码
numeric_cols=set(dfAcepCtrUsers.select_dtypes(include=[np.number]).columns.values)
它将排除具有空值的列,例如
col
===
1
2
None
选择数字列的正确方法是什么,包括这些列?
答案 0 :(得分:0)
您可以先尝试将DataFrame中的所有列转换为数字类型
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'}