一、什么是Panel

  • Series:包含一维索引的一组数据
  • DataFrame:包含index和columns两个轴
  • 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

  

3-Pandas之什么是Panel?的更多相关文章

  1. pd.Panel转化成json,然后再还原回来

    在使用tornado的write时候有一个需求,是将panel转化成json;而接收端再将json还原成panel格式. 尝试了很久,终于实现了. panel1 =pd.Panel({"on ...

  2. Python数据分析之Pandas操作大全

    从头到尾都是手码的,文中的所有示例也都是在Pycharm中运行过的,自己整理笔记的最大好处在于可以按照自己的思路来构建矿建,等到将来在需要的时候能够以最快的速度看懂并应用=_= 注:为方便表述,本章设 ...

  3. 第01章 准备工作.md

    第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...

  4. zipline整体架构

    在这里可以看出,zipline由下面几个主要的部分构成 名称 说明 TradingAlgorithm 量化策略的抽象,既可以通过初始化传入构造上参数的方式,也可以通过继承的方式构造,其中zipline ...

  5. python数据分析01准备工作

    第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...

  6. pandas.Panel数据

    from pandas import Panel, DataFrame import numpy as np dd = {} for i in range(1, 3): name = 'X' + st ...

  7. pandas 使用panel 报错 Panel is deprecated and will be removed in a future version.

    Panel is deprecated and will be removed in a future version.The recommended way to represent these t ...

  8. Pandas面板(Panel)

    面板(Panel)是3D容器的数据.面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s. 3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义. ...

  9. Python Pandas -- Panel

    Pandas 中一维 series, 二维DataFrame, 三维Panel class pandas.Panel(data=None, items=None, major_axis=None, m ...

  10. Pandas | 04 Panel 面板

    面板(Panel)是3D容器的数据.面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s. 3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义. ...

随机推荐

  1. 平常我们是如何区分css中class和id之间有什么区别的?

    我们平常在用DIV+CSS制作html网页页面时,常会用到class 和id来选择调用CSS样式属性.对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用 ...

  2. HDU - 5963 朋友(思维题)

    题干 B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始,双 ...

  3. Linux下对拍(A+B问题)

    对拍代码 #include<bits/stdc++.h> using namespace std; int main(){ for(int i=1;;i++){ system(" ...

  4. VS2019阅读源码 翻译注释插件

    VS翻译插件: Comment Translator China https://marketplace.visualstudio.com/items?itemName=netcorevip.Comm ...

  5. 控制流程之while循环, for循环

    条件循环:while,语法如下 while 条件: # 循环体 # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件... # 如果条件为假,那么循环体不执行,循环终止死循环 基本使用 ...

  6. 《SpringBoot判空处理》接开@valid的面纱

    一.事有起因 我们在与前端交互的时候,一般会遇到字段格式校验及非空非null的校验,在没有SpringBoot注解的时候, 我们可能会在service进行处理: if(null == name){ t ...

  7. cookie与token

    cookie: 登陆后后端生成一个sessionid放在cookie中返回给客户端,并且服务端一直记录着这个sessionid,客户端以后每次请求都会带上这个sessionid, 服务端通过这个ses ...

  8. 【Nginx】面试官竟然问我Nginx如何生成缩略图,还好我看了这篇文章!!

    写在前面 今天想写一篇使用Nginx如何生成缩略图的文章,想了半天题目也没想好,这个题目还是一名读者帮我起的.起因就是这位读者最近出去面试,面试官正好问了一个Nginx如何生成缩略图的问题.还别说,就 ...

  9. 关于python爬取异步ajax数据的一些见解

    我们在利用python进行爬取数据的时候,一定会遇到这样的情况,在浏览器中打开能开到所有数据,但是利用requests去爬取源码得到的却是没有数据的页面框架. 出现这样情况,是因为别人网页使用了aja ...

  10. Oracle数据库服务器更改计算机名称,导致监听服务打不开解决办法

    1.修改listener.ora和tnsnames.ora文件 文件路径为:C:\Oracle\Instanclient_11_2\network\admin # listener.ora Netwo ...