美文网首页大数据,机器学习,人工智能大数据IT@程序员猿媛
Python数据处理从零开始----第二章(pandas)(十一

Python数据处理从零开始----第二章(pandas)(十一

作者: 柳叶刀与小鼠标 | 来源:发表于2019-04-07 03:06 被阅读373次

    目录

    第二章(pandas)

    Python数据处理从零开始----第二章(pandas)①删除列
    Python数据处理从零开始----第二章(pandas)②处理缺失数据
    Python数据处理从零开始----第二章(pandas)③数据标准化(1)
    Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值
    Python数据处理从零开始----第二章(pandas)⑤pandas与R
    Python数据处理从零开始----第二章(pandas)⑥相关性分析
    Python数据处理从零开始----第二章(pandas)⑦pandas读写csv文件(1)
    Python数据处理从零开始----第二章(pandas)⑧pandas读写csv文件(2)
    Python数据处理从零开始----第二章(pandas)⑧pandas读写csv文件(3)
    Python数据处理从零开始----第二章(pandas)⑨pandas读写csv文件(4)
    Python数据处理从零开始----第二章(pandas)(十)pandas合并数据
    Python数据处理从零开始----第二章(pandas)(十一)通过列属性对列进行筛选

    本文主要目的是通过列属性进行列挑选,比如在同一个数据框中,有的列是整数类的,有的列是字符串列的,有的列是数字类的,有的列是布尔类型的。假如我们需要挑选或者删除属性为整数类的列,就可能需要用到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”

    实例

    • 新建数据集
    
    
    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’字符串类型

    • 挑选数据框子集
    
    
    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
    
    • 排除类型属性的列
    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
    

    相关文章

      网友评论

        本文标题:Python数据处理从零开始----第二章(pandas)(十一

        本文链接:https://www.haomeiwen.com/subject/iukjiqtx.html