• 3.pandas的简单查询


    知道了基本的pandas的数据结构,就可以进行查询相应的数据了

    DataFrame可以看成是一个个的Series组成的一个二维结构,既然如此,就会有从DataFrame里查询Series的方法

    从DataFrame中查询Series

    这么说会一头雾水,通俗一点讲就是从表格里查询一行或者一列的数据

    由于pandas和字典有些类似,所以同样,也可以用字典的方式进行获取

    列的查询

    d = {
        'state':['s1','s2','s3'],
        'year':['2020','2019','2018'],
        'inp':['a','b','c']
    }
    s1 = pd.DataFrame(d)
    
    print(s1)
    print('***********')
    print(s1['year'])
    
      state  year inp
    0    s1  2020   a
    1    s2  2019   b
    2    s3  2018   c
    ***********
    0    2020
    1    2019
    2    2018
    Name: year, dtype: object
    
    

    这样我们就拿到了year这一列的所有数据

    当然也可以查询多列,只不过返回的就是DataFrame,因为已经变成二维的数据了

    d = {
        'state': ['s1', 's2', 's3'],
        'year': ['2020', '2019', '2018'],
        'inp': ['a', 'b', 'c']
    }
    s1 = pd.DataFrame(d)
    
    print(s1)
    print('***********')
    print(s1[['year', 'state']])
    
    
      state  year inp
    0    s1  2020   a
    1    s2  2019   b
    2    s3  2018   c
    ***********
       year state
    0  2020    s1
    1  2019    s2
    2  2018    s3
    
    

    将想要查询的列,以列表的形式传进去,就能够获取多列的数据了

    行的查询

    行查询就是查询哪一行,输入行数,返回该行的数据

    d = {
        'state': ['s1', 's2', 's3'],
        'year': ['2020', '2019', '2018'],
        'inp': ['a', 'b', 'c']
    }
    s1 = pd.DataFrame(d)
    
    print(s1)
    print('***********')
    print(s1.loc[1])
    
      state  year inp
    0    s1  2020   a
    1    s2  2019   b
    2    s3  2018   c
    ***********
    state      s2
    year     2019
    inp         b
    Name: 1, dtype: object
    
    

    查询多行的数据,就类似于列表的切片,但是和python的切片不同的是,切片是首尾都闭合的状态

    d = {
        'state': ['s1', 's2', 's3'],
        'year': ['2020', '2019', '2018'],
        'inp': ['a', 'b', 'c']
    }
    s1 = pd.DataFrame(d)
    
    print(s1)
    print('***********')
    print(s1.loc[1:3])
    
      state  year inp
    0    s1  2020   a
    1    s2  2019   b
    2    s3  2018   c
    ***********
      state  year inp
    1    s2  2019   b
    2    s3  2018   c
    

    可能会发现,没有第三行,为什么可以执行,其实,末尾的你写2000也行,对于查询而言,可以溢出,不用一定在

    而且根据上面说到的原理,查询多列拿到的也应该是DataFrame的类型

  • 相关阅读:
    摄影初识之一
    Photoshop CS6的安装
    chcon可实现对文件的SEAndroid安全标签的修改
    ubuntu启动失败the system is running in low graphics mode
    将ubuntu14.04设置为文本模式启动?
    Android数据库之SQLite数据库
    系统崩溃分析
    Oops 的栈信息分析
    android framework 之JNI
    SecureCRT语法高亮设置
  • 原文地址:https://www.cnblogs.com/jevious/p/13370199.html
Copyright © 2020-2023  润新知