pd.select_dtypes
可以根据数据类型选取特征,这对于我们建模时非常有用,下面来看看怎么使用
DataFrame.select_dtypes(include=None, exclude=None)
参数
- include, exclude:scalar or list-like,标量或类似列表的内容,包括/排除的dtypes或字符串的选择。必须至少提供这些参数之一
返回:DataFrame
注意:
- 要选择所有数字类型,请使用np.number或'number'
- 要选择字符串,您必须使用object dtype(np.object 或者是 'object'),但是请注意,这将返回所有对象dtype列
- 请参见numpy dtype层次结构
- 要选择日期时间,使用np.datetime64,'datetime'或 'datetime64'
- 要选择timedeltas,使用np.timedelta64,'timedelta'或 'timedelta64'
- 要选择Pandas类别dtype,请使用 'category'
- 要选择Pandas datetimetz dtypes,请使用'datetimetz'(0.20.0中的新增功能)或'datetime64[ns, tz]'
例子
df = pd.DataFrame({'a': [1, 2] * 3, 'b': [True, False] * 3, 'c': [1.0, 2.0] * 3}) df ''' a b c 0 1 True 1.0 1 2 False 2.0 2 1 True 1.0 3 2 False 2.0 4 1 True 1.0 5 2 False 2.0 ''' ############################### df.dtypes ''' a int64 b bool c float64 dtype: object ''' ############################### df.select_dtypes(include='bool') ''' b 0 True 1 False 2 True 3 False 4 True 5 False ''' ############################### df.select_dtypes(include=['float64']) ''' c 0 1.0 1 2.0 2 1.0 3 2.0 4 1.0 5 2.0 ''' ############################### df.select_dtypes(exclude=['int64']) ''' b c 0 True 1.0 1 False 2.0 2 True 1.0 3 False 2.0 4 True 1.0 5 False 2.0 ''''