如何让 Pandas 按数据类型选择列?
Pandas 百问百答第 014 篇。
有时候,df 里包含了不同的数据类型,比如,文本、日期、整数、小数,如果需要筛选出某一类型的几列,怎么整?
呆鸟也不卖关子,直接说, pandas 的 df 提供了 select_dtypes
函数,可以按数据类型选择 df 的列。该函数包含 include
与 exclude
参数:
include
表示包含哪种类型,输出结果是包含该类型的 df;exclude
表示排除哪种类型,输出结果是不包含该类型的 df;包含或排除的类型可以是多种,用列表显示,如
include=['float64','int64']
;
示例代码:
df = pd.DataFrame({'a': [1, 2] * 3,
'b': [True, False] * 3,
'c': [1.0, 2.0] * 3})
# 输出包含 bool 数据类型的列
df.select_dtypes(include='bool')
# 输出包含小数数据类型的列
df.select_dtypes(include=['float64'])
# 输出排除整数的列
df.select_dtypes(exclude=['int64'])
数据类型说明
选择所有数字类型的列,用
np.number
或'number'
选择字符串类型的列,必须用
object
,注意,这将返回所有数据类型为object
的列选择日期时间类型的列,用
np.datetime64
、'datetime'
或'datetime64'
选择 timedelta 类型的列,用
np.timedelta64
、'timedelta'
或'timedelta64'
选择 category 类型类别,用
'category'
选择 datetimetz 类型的列,用
'datetimetz'
或'datetime64[ns, tz]'
好了,本篇比较简单,但也容易让人忽略,现在你知道怎么按数据类型选择 df 中的列了吗?
本文译自 pandas 官档,在官档中搜索 select_dtypes ,即可找到原文。
评论