如何让 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 ,即可找到原文。

评论
