数据分析之Pandas(二)Pandas数据结构

版权声明:版权声明: 笔者博客文章主要用来作为学习笔记使用,内容大部分来自于自互联网,并加以归档整理或修改,以方便学习查询使用,只有少许原创,如有侵权,请联系博主删除! https://blog.csdn.net/qq_42642945/article/details/88398725

DataFrame结构

DataFrame对象, 是一个二维的结构,既有行索引,又有列索引

  • 行索引,表明不同行,横向索引,叫index
  • 列索引,表名不同列,纵向索引,叫columns

DatatFrame的属性

常用属性:

  • shape 外形
  • index 行标签
  • columns 列标签
  • values 底层的数据,是numpy的ndarray
  • T 转置

例如:
在这里插入图片描述
常用方法:

  • head():默认显示前5行内容。填入参数N则显示前N行
  • tail():默认显示后5行内容。填入参数N则显示后N行
    在这里插入图片描述

DatatFrame索引的设置

  • 修改行列索引值
    只能全部替换,不能单个修改

注意:以下修改方式是错误的

在这里插入图片描述
正确的方式:
在这里插入图片描述

  • 重设索引
    oreset_index(drop=False)
    • 设置新的下标索引
    • drop:默认为False,不删除原来索引,如果为True,删除原来的索引值
      在这里插入图片描述
      在这里插入图片描述
  • 以某列值设置为新的索引
    oset_index(keys, drop=True)
    • keys : 列索引名成或者列索引名称的列表
    • drop : boolean, default True.当做新的索引,删除原来的列
      在这里插入图片描述
    • 以年设置新的索引
      在这里插入图片描述
    • 设置多个索引(复合索引),以年和月份
      df.set_index(),把某一列的值用做索引,如果使用多个列的值做索引,那么创建的就是复合索引,复合索引可用于表示多维数据(比如说三维)
      在这里插入图片描述
      注:通过刚才的设置,这样DataFrame就变成了一个具有MultiIndex的DataFrame。

MultiIndex与Panel

打印刚才的df的行索引结果
在这里插入图片描述
认识索引
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MultiIndex

MultiIndex 多级或分层索引对象。

多级索引(也称层次化索引)是pandas的重要功能,可以在Series、DataFrame对象上拥有2个以及2个以上的索引。

实质上,单级索引对应Index对象(如RangeIndex,Int64Index), 多级索引对应MultiIndex对象

  • index属性
    • names:levels的名称,每个索引级别的名称。(compat接受名称)
    • labels:每个级别的整数指定每个位置的标签
    • levels:每个level的元组值,每个级别的唯一标签
df.index.names
FrozenList(['year', 'month'])

df.index.levels
FrozenList([[2012, 2013, 2014], [1, 4, 7, 10]])

Panel

class pandas.Panel(data=None, items=None, major_axis=None, minor_axis=None, copy=False, dtype=None)

存储3维数组的Panel结构
在这里插入图片描述

  • items - axis 0,每个项目对应于内部包含的数据帧(DataFrame)。
  • major_axis - axis 1,它是每个数据帧(DataFrame)的索引(行)。
  • minor_axis - axis 2,它是每个数据帧(DataFrame)的列。

注:Pandas从版本0.20.0开始弃用Panel:推荐的用于表示3D数据的方法是DataFrame上的MultiIndex方法

三维结构,已经过期,不建议使用,应该用MultiIndex配合DataFrame来表示三维数据

思考:如果获取DataFrame中某个股票的不同时间数据?这样的结构是什么?

Series结构

一维结构,只有行索引,没有列索引

DataFrame的每一列就是一个Series

Series操作起来类似字典,Series常被当作长度不会改变的字典
属性:

  • index,索引
  • values,后面的值,是一个numpy.ndarray

什么是Series结构呢,我们直接看下面的图:
在这里插入图片描述
series结构只有行索引
在这里插入图片描述

创建series

通过已有数据创建

  • 指定内容,默认索引
    在这里插入图片描述
  • 指定索引
    在这里插入图片描述
  • 通过字典数据创建
    在这里插入图片描述

series获取索引和值

  • index
  • values
    在这里插入图片描述

版权声明:
笔者博客文章主要用来作为学习笔记使用,内容大部分整理自互联网,如有侵权,请联系博主删除!

猜你喜欢

转载自blog.csdn.net/qq_42642945/article/details/88398725