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
''''
