2-Pandas之什么是Panel?

一、什么是Panel

  • Series:包含一维索引的一组数据
  • DataFrame:包含indexcolumns两个轴
  • Panel(面板):一种三维数据容器

一个Panel对象由3个轴构成:

  • items-------->axis=0:每个项目对应于内部包含的DataFrame
  • major_axis--->axis=1:每个DataFrame的索引(行)
  • minor_axis--->axis=2:每个DataFrame的列

二、Panel的创建

   pd.Panel(data,items,major_axis,minor_axis,dtype,copy)

参数 说明
data 数据采取各种形式,如:ndarray、Series、列表、字典和另外一个DataFrame
items 每个项目对应于内部包含的DataFrame
major_axis 每个DataFrame的索引(行)
minor_axis 每个DataFrame的列
dtype 每列的数据类型
copy 复制数据,默认值为False

 

 

 

 

 

 

 

 

 

>>> pnl = pd.Panel([[[10000,20000],[20000,30000],[40000,50000]],[[2,1],[0,0],[3,4]]],
items=['营业额','出差次数'],major_axis=['Jan','Feb','Mar'],minor_axis=['Mary','Jack'])
>>> pnl
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 3 (major_axis) x 2 (minor_axis)
Items axis: 营业额 to 出差次数
Major_axis axis: Jan to Mar
Minor_axis axis: Mary to Jack

>>> pnl['营业额']
      Mary   Jack
Jan  10000  20000
Feb  20000  30000
Mar  40000  50000

>>> type(pnl['营业额'])
<class 'pandas.core.frame.DataFrame'> 

三、Panel的转换

  通过to_frame()将Panel转转成一个“堆积式”的DataFrame(stacked DataFrame),此时Paenl的形式与索引都将方便许多。

>>> pnl.to_frame()
               营业额  出差次数
major minor
Jan   Mary   10000     2
      Jack   20000     1
Feb   Mary   20000     0
      Jack   30000     0
Mar   Mary   40000     3
      Jack   50000     4

  

posted @ 2020-07-25 23:35  大脸猫12581  阅读(671)  评论(0编辑  收藏  举报