• DataFrame 行列数据的筛选


    一、对DataFrame的认知 
    DataFrame的本质是行(index)列(column)索引+多列数据。

      DataFrame默认索引是序号(0,1,2…),可以理解成位置索引。

      一般我们用id标识不同记录,不会改变index。但为了理解不同特征(列)含义,我们往往会重新指定column

    二、对dataframe进行行列数据筛选

    import pandas as pd
    import numpy as np
    from pandas import DataFrame df = DataFrame(np.arange(20).reshape((4,5)),column = list('abcde')) #生成一个DataFrame

      

    1.df[]&df. 选取列数据

    df.a 
    df[[‘a’,’b’]]

    2.df.loc[[index],[colunm]] 通过标签选择数据

       不对行进行筛选时,[index]处填 : (不能为空),即df.loc[:,’a’]表示选取a列全部数据。

    df.loc[0,’a’] 
    df.loc[0:1,[‘a’,’b’]] 
    df.loc[[0,2],[‘a’,’c’]]

    3.df.iloc[[index],[colunm]] 通过位置选择数据

      不对行进行筛选时,同df.loc[],即[index]处不能为空。

    df.iloc[0,0] 
    df.iloc[0:1,1:3] 
    df.iloc[[0,2],[1,3]]

    4.df.ix[[index],[column]] 通过标签or位置选择数据

    df.ix[]混合了标签和位置选择。需要注意的是,[index]和[column]的框内需要指定同一类的选择。

    df.ix[[0:1],[‘a’,3]]

      报错

    5.多条件筛选

        原表数据:

     (1)使用“与”条件进行筛选

    df1 = df.loc[(df['现价']>6)&(df['开板'] == 0)]
    print(df1)

      结果只有2条数据符合要求:

      (2) 使用“或”条件进行筛选

    df2 = df.loc[(df['现价']>10)|(df['连板'] >2)]
    print(df2)

      则有4条数据符合要求:(分别有2和6符合条件1,而0、1和2符合条件2)

  • 相关阅读:
    一段路
    memcache 键名的命名规则以及和memcached的区别
    浏览器解释网页时乱码
    windows下安装Apache
    巧用PHP数组函数
    程序返回值的数据结构
    Linux如何生成列表
    判断用户密码是否在警告期内(学习练习)
    判断用户的用户名和其基本组的组名是否一致
    sed笔记
  • 原文地址:https://www.cnblogs.com/sxinfo/p/10404211.html
Copyright © 2020-2023  润新知