一、什么是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. 常用的rac搭建相关

    平时自己测试环境搭建用,部分参数是不规范的. 生产请按照官方文档或者公司标准化文档来做. 共享硬盘: disk.locking = "FALSE" diskLib.dataCach ...

  2. 【秒懂Java】【02_搭建开发环境】01_Java开发必备

    这篇文章主要讲解:要想使用Java来开发软件,需要做哪些准备工作? 配置电脑 作为一名开发人员,对文件的类型.大小等信息是比较敏感的,所以建议你的电脑做2个配置: 显示文件扩展名 文件扩展名(File ...

  3. 给大家分享一下less的使用几个技巧

    1.层级关系 让这个box范围内的全部包进来,这样的话就完美的进行调节,再也不用到处找第几行第几个,我刚才在哪个位置给覆盖了.一看便知! .box{ width: %; height: 300px; ...

  4. CSS Sprites精灵图(雪碧图)

    简介 CSS精灵图,是一种网页图片应用处理方式.允许将一个页面涉及到的所有零星图片都包含到一张大图中 利用CSS的"background-image","backgrou ...

  5. 传参问题-HttpMessageNotReableException

    很久没写后台代码,用postMan测试后台接口的时候出现了一个问题: 问题如下: 显而易见是参数问题,我的参数如下图: 我调整参数样式为: 但还是存在问题. 最后调整成用双引号,结果对了.之前没有注意 ...

  6. efcore 跨表查询,实现一个接口内查询两个不同数据库里各自的表数据

    最近有efcore跨库查询的需求,研究了下colder框架里文档的分库实现,发现并不能完全实现一个接口下的跨库查询请求,只能满足一个业务层构造指定的唯一一个数据库访问接口. 先说下文档是怎么实现的 D ...

  7. centos7-修改默认python为3

    安装必要工具 yum-utils: $ sudo yum install yum-utils 使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理.$ s ...

  8. day09总结

    with 上下文管理 # f = open(r"文件路径", mode="rt", encoding="utf-8")# data = f. ...

  9. 从 (a==1&&a==2&&a==3) 成立中看javascript的隐式类型转换

    下面代码中 a 在什么情况下会打印 1? var a = ?; if(a == 1 && a == 2 && a == 3){ console.log(1); } 这个 ...

  10. # scrapy(二):get请求

    scrapy中的get请求及基本使用: 1. 创建scrapy项目 scrapy startproject QiuBaiProject 2. 创建爬虫文件 scrapy genspider QiuBa ...