面板(Panel)是3D容器的数据。面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s

3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义。它们是 -

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

1. pandas.Panel()

可以使用以下构造函数创建面板 -

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

Python

构造函数的参数如下 -

参数 描述
data 数据采取各种形式,如:ndarrayseriesmaplistsdictconstant和另一个数据帧(DataFrame)
items axis=0
major_axis axis=1
minor_axis axis=2
dtype 每列的数据类型
copy 复制数据,默认 - false

2. 创建面板

可以使用多种方式创建面板 -

  • 从ndarrays创建
  • 从DataFrames的dict创建

2.1 从3D ndarray创建

# creating an empty panel
import pandas as pd
import numpy as npdata = np.random.rand(2,4,5)
p = pd.Panel(data)
print p

Python执行上面示例代码,得到以下结果 -

<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4

注意 - 观察空面板和上面板的尺寸大小,所有对象都不同。

2.2 从DataFrame对象的dict创建面板

#creating an empty panel
import pandas as pd
import numpy as npdata = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p

Python执行上面示例代码,得到以下结果 -

<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4

2.3 创建一个空面板

可以使用Panel的构造函数创建一个空面板,如下所示:

#creating an empty panel
import pandas as pd
p = pd.Panel()
print p

Python执行上面示例代码,得到以下结果 -

<class 'pandas.core.panel.Panel'>
Dimensions: 0 (items) x 0 (major_axis) x 0 (minor_axis)
Items axis: None
Major_axis axis: None
Minor_axis axis: None

3. 从面板中选择数据

要从面板中选择数据,可以使用以下方式 -

  • Items
  • Major_axis
  • Minor_axis

使用Items

# creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p['Item1']

Python执行上面示例代码,得到以下结果 -

            0          1          2
0    0.488224  -0.128637   0.930817
1    0.417497   0.896681   0.576657
2   -2.775266   0.571668   0.290082
3   -0.400538  -0.144234   1.110535

上面示例有两个数据项,这里只检索item1。结果是具有4行和3列的数据帧(DataFrame),它们是Major_axisMinor_axis维。

使用major_axis

可以使用panel.major_axis(index)方法访问数据。参考以下示例代码 -

# creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p.major_xs(1)

Python执行上面示例代码,得到以下结果 -

      Item1       Item2
0   0.417497    0.748412
1   0.896681   -0.557322
2   0.576657       NaN

使用minor_axis

可以使用panel.minor_axis(index)方法访问数据。参考以下示例代码 -

# creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p.minor_xs(1)

Python执行上面示例代码,得到以下结果 -

       Item1       Item2
0   -0.128637   -1.047032
1    0.896681   -0.557322
2    0.571668    0.431953
3   -0.144234    1.302466

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/pandas/python_pandas_panel.html

pandas面板(Panel)相关推荐

  1. Pandas 面板Panel

    一.Panel介绍 Pandas 面板(Panel)是3维数据的存储结构,相当于一个存储 DataFrame 的字典,有3个轴(axis),分别给出描述涉及面板数据的操作的一些语义,具体如下: ite ...

  2. 面板panel与窗口frame的区别

    面板panel与窗口frame的区别 References 都可以在其上加载组件 面板需要加载在组件上才能使用,而窗口不需要 JPanel和JFrame都可以作为容器存放别的控件 但JPanel一般作 ...

  3. AWT_面板 Panel(Java)

    AWT_面板 Panel(Java) package Demo01;import java.awt.*; import java.awt.event.WindowEvent; import java. ...

  4. jQuery Mobile中面板panel的data-*选项

    全栈工程师开发手册 (作者:栾鹏) jQuery Mobile 所有data-*选项 jQuery Mobile中面板panel的data-*选项 带有 data-role="panel&q ...

  5. Pandas的panel结构

    panel的创建 class pandas.Panel(data=None, items=None, major_axis=None, minor_axis=None) 作用:存储3维数组的Panel ...

  6. html5拖动的面板 panel,基于jQuery UI的Bootstrap Panel面板功能增强插件

    LobiPanel是一款基于jQuery UI的Bootstrap Panel面板功能增强插件.通过该插件可以为Bootstrap的原生Panel面板增加编辑标题,最大化,最小化,面板拖动关闭面板等功 ...

  7. Bootstrap3 面板 .panel 容器

    面板 虽然不总是必须的,但某些时候你可能需要将某些 DOM 内容放到一个盒子里.对于这种情况,可以试试面板组件. 创建面板 Bootstrap的面板组件是内容的容器,它由页眉.主体.页脚三部分组成.面 ...

  8. Grafana面板(panel):数据处理(Transformation)---一个奇怪的功能!

    文章目录 Transformation 概念 多个transformation的执行顺序 transformation类型 Add field from calculation Concatenate ...

  9. Bootstrap中的面板(panel)

    背景 写自动折叠的面板时遇到点问题,虽与面板本身无关,可看到他有序的组织,我想bootstrap肯定有完整的面板结构.果不其然. 基本结构 <div class="panel-grou ...

  10. 深入理解BootStrap -- 面板(panel)17

    1.面板 面板(Panels)是Bootstrap框架新增的一个组件,其主要作用就是用来处理一些其他组件无法完成的功能.同样在不同的版本中具有不同的源码: ☑ Less版本:对应的源码文件是 pane ...

最新文章

  1. 让自己的开源项目支持CocoaPods集成
  2. span 标记 width 设置
  3. Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别
  4. JS 面向对象实例 prototype
  5. java 注释标记_如何标记,像老板一样注释内容
  6. 如何使用GDAL进行图像镶嵌
  7. 【解决方案】视频结构化图像智能分析系统EasyNVR助力KTV视频监控建设
  8. 基于豆瓣影评数据的文本分析系统【数据爬取+数据清洗+数据库存储+LDA主题挖掘+词云可视化】
  9. adb命令刷机vivox20_求救VIVO X20的 ROOT可行的方法。
  10. Pycharm返回上一次编辑处的快捷键
  11. 计算机教育思维,计算机教育中计算思维的培育
  12. sql2008服务器运行哪个,SQL SERVER 2008R2 暂用服务器内存直到服务器死机。
  13. HTML 区块、布局与框架
  14. 嵌入式系统开发笔记6:CJ/T-188 水表协议解析1
  15. 1700施工方案第二季{转nbsp;仕林}
  16. C语言 第六章 指针 重点 典型题
  17. 公司AppleID的申请详细流程
  18. 密立根油滴计算器 C语言/python(华电用)
  19. 编辑服务器并更改jre位置,JRE的安装及环境变量配置
  20. 迅雷创始人程浩:AI 创业必知 6 大核心问题:如何选择赛道、搭配团队和应对巨头挑战

热门文章

  1. iptables drop与reject 的区别
  2. 汤晓鸥教授的一篇很有意思的文章
  3. laravel 使用 vue 和 element
  4. iOS安装ipa文件
  5. 使用plist文件进行ipa的安装
  6. 介绍PS工具“仿制图章工具”和“图案图章工具”
  7. github免费空间玩法
  8. ABAP OLE下载到EXCEL
  9. python电路仿真软件_4种电路仿真软件比较 - SmartLinkCloud,智联网云平台 - OSCHINA - 中文开源技术交流社区...
  10. 图片服务器-存储图片技巧