首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python数据处理从零开始----第二章(pandas)(十一)通过列属性对列进行筛选

Python数据处理从零开始----第二章(pandas)(十一)通过列属性对列进行筛选

作者头像
用户1359560
发布2019-04-17 16:46:53
发布2019-04-17 16:46:53
2.3K0
举报
文章被收录于专栏:生信小驿站生信小驿站

本文主要目的是通过列属性进行列挑选,比如在同一个数据框中,有的列是整数类的,有的列是字符串列的,有的列是数字类的,有的列是布尔类型的。假如我们需要挑选或者删除属性为整数类的列,就可能需要用到pandas.DataFrame.select_dtypes函数功能

该函数的主要格式是:DataFrame.select_dtypes(include = None,exclude = None),返回DataFrame列的子集。

参数:

include,exclude:选择要包含/排除的dtypes或字符串。必须至少提供其中一个参数。

返回:

subset:DataFrame,包含或者排除dtypes的的子集

笔记

要选取所有数字类的列,请使用np.number或'number' 要选取字符串的列,必须使用‘object’ 要选择日期时间,请使用np.datetime64,'datetime'或'datetime64' 要选取所有属性为‘类’的列,请使用“category”

实例

  • 新建数据集
代码语言:javascript
复制
import pandas as pd
import numpy as np

df = pd.DataFrame({'a': [1, 2] * 3,
                   'b': [True, False] * 3,
                    'c': [1.0, 2.0] * 3,
                    'e' : ['asian','white','black','white','asian','white'] ,
                  'd' :['low','low','low','median','high','high']})

df['d'] = df['d'].astype('category')
df
Out[46]: 
   a      b    c      e       d
0  1   True  1.0  asian     low
1  2  False  2.0  white     low
2  1   True  1.0  black     low
3  2  False  2.0  white  median
4  1   True  1.0  asian    high
5  2  False  2.0  white    high

我们构建了一个数据框,每一列的属性均不同。

a列为‘integer’数字类型, b列为‘bool’布尔类型, c列为‘数字’类型, d列为‘category’分类类型, e列为‘object’字符串类型

  • 挑选数据框子集
代码语言:javascript
复制
df.select_dtypes(include='bool')
Out[48]: 
       b
0   True
1  False
2   True
3  False
4   True
5  False

df.select_dtypes(include=['float64'])
Out[49]: 
     c
0  1.0
1  2.0
2  1.0
3  2.0
4  1.0
5  2.0

df.select_dtypes(include=['number'])
Out[50]: 
   a    c
0  1  1.0
1  2  2.0
2  1  1.0
3  2  2.0
4  1  1.0
5  2  2.0

df.select_dtypes(include=['category'])
Out[51]: 
        d
0     low
1     low
2     low
3  median
4    high
5    high

df.select_dtypes(include=['integer'])
Out[52]: 
   a
0  1
1  2
2  1
3  2
4  1
5  2

df.select_dtypes(include=['object'])
Out[53]: 
       e
0  asian
1  white
2  black
3  white
4  asian
5  white
  • 排除类型属性的列
代码语言:javascript
复制
df.select_dtypes(exclude=['float64'])
Out[55]: 
   a      b      e       d
0  1   True  asian     low
1  2  False  white     low
2  1   True  black     low
3  2  False  white  median
4  1   True  asian    high
5  2  False  white    high
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参数:
  • 返回:
  • 笔记
  • 实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档