zoukankan      html  css  js  c++  java
  • 2.pandas的数据结构

    对于文件来说,读取只是最初级的要求,那我们要对文件进行数据分析,首先就应该要知道,pandas会将我们熟悉的文件转换成了什么形式的数据结构,以便于后续的操作

    数据结构

    pandas对文件一共有两种数据结构的划分,第一种是二维的DataFrame,第二种是一维的Series

    简单的来说就是,你看到的表,就是DataFrame,而构成表的每一行或者每一列都是Series

    Series

    列表创建Series

    仅仅有数据列表就可以产生最简单的Series

    l = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
    s1 = pd.Series(l)
    print(s1)
    
    0    a
    1    b
    2    c
    3    d
    4    e
    5    f
    6    g
    dtype: object
    
    # 左侧为索引,右侧为数据
    

    根据上篇文章我们可以获取这个Series的索引和数据

    print(s1.index)
    print(s1.values)
    
    RangeIndex(start=0, stop=7, step=1)
    ['a' 'b' 'c' 'd' 'e' 'f' 'g']
    

    其实不光可以用数字来进行索引,也可以自定义索引

    s1 = pd.Series(l,index=['q','w','e','r','t','y','u'])
    
    q    a
    w    b
    e    c
    r    d
    t    e
    y    f
    u    g
    dtype: object
    

    字典创建Series

    d = {
        'a':1,
        'b':2,
        'c':3
    }
    s1 = pd.Series(d)
    print(s1)
    
    a    1
    b    2
    c    3
    dtype: int64
    

    字典创建的就会将字典的键默认当做索引

    查询数据

    跟字典其实是差不多的意思,可以根据索引来查

    d = {
        'a':1,
        'b':2,
        'c':3
    }
    s1 = pd.Series(d)
    print(s1['b'])
    
    2
    

    也可以查询一堆数据

    d = {
        'a':1,
        'b':2,
        'c':3
    }
    s1 = pd.Series(d)
    print(s1[['b','c']])
    
    b    2
    c    3
    dtype: int64
    

    DataFrame

    既然这是个二维的数据结构,也就意味着,它不止有列索引,同时还应该有行索引

    根据多个字典创建DataFrame

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

    可以通过上篇文章快速的获取列索引和行索引

    d = {
        'state':['s1','s2','s3'],
        'year':['2020','2019','2018'],
        'inp':['a','b','c']
    }
    s1 = pd.DataFrame(d)
    print(s1.index)
    print(s1.columns)
    
    RangeIndex(start=0, stop=3, step=1)
    Index(['state', 'year', 'inp'], dtype='object')
    
  • 相关阅读:
    http请求工具类
    java订单号生成
    SpringUtil获取Spring容器对象
    git push的日志展示问题
    nodejs环境搭建,淘宝镜像cnpm
    csdn里面代码块颜色
    nginx简单使用
    vue项目打包后字体文件路径出错的解决办法
    VUE 爬坑之旅 -- 用 ES6 语法写一个工具类,并全局引用
    VUE 爬坑之旅 -- 用 ES6 语法写一个工具类,并全局引用
  • 原文地址:https://www.cnblogs.com/jevious/p/13370078.html
Copyright © 2011-2022 走看看