mars.dataframe.DataFrame.select_dtypes#

DataFrame.select_dtypes(include=None, exclude=None)#

根据列的数据类型返回DataFrame的列的一个子集。

Parameters
  • include (标量类似列表) – 要包括/排除的数据类型或字符串的选择。必须提供这些参数中的至少一个。

  • exclude (标量类列表) – 要包含/排除的数据类型或字符串的选择。这些参数中必须提供至少一个。

Returns

该框架的子集,包括include中的数据类型,并排除exclude中的数据类型。

Return type

数据框

Raises

ValueError

  • 如果 includeexclude 都为空 * 如果 includeexclude 有重叠的元素 * 如果传入任何类型的字符串 dtype。

另请参阅

DataFrame.dtypes

返回每列的数据类型的系列。

备注

  • 要选择所有 数字 类型,请使用 np.number'number'

  • 要选择字符串,您必须使用 object 数据类型,但请注意这将返回 所有 对象数据类型列

  • 查看numpy 数据类型层次结构

  • 要选择日期时间,请使用 np.datetime64'datetime''datetime64'

  • 要选择时间增量,请使用 np.timedelta64, 'timedelta''timedelta64'

  • 要选择 Pandas 的类别数据类型,请使用 'category'

  • 要选择Pandas datetimetz 数据类型,请使用 'datetimetz' (在0.20.0中新增)或 'datetime64[ns, tz]'

示例

>>> import mars.dataframe as md
>>> df = md.DataFrame({'a': [1, 2] * 3,
...                    'b': [True, False] * 3,
...                    'c': [1.0, 2.0] * 3})
>>> df.execute()
        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.select_dtypes(include='bool').execute()
   b
0  True
1  False
2  True
3  False
4  True
5  False
>>> df.select_dtypes(include=['float64']).execute()
   c
0  1.0
1  2.0
2  1.0
3  2.0
4  1.0
5  2.0
>>> df.select_dtypes(exclude=['int64']).execute()
       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