面板(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)

 
参数 描述
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 np data = np.random.rand(2,4,5)
p = pd.Panel(data)
print p

输出结果:

<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 np data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)),
'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p

输出结果:

<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

输出结果:

<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']
输出结果 -
            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)

输出结果:

      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)

输出结果:

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

注意 - 观察尺寸大不的变化。

最新文章

  1. IOS 2D游戏开发框架 SpriteKit--&gt;续(创建敌对精灵)
  2. 【转】Yeoman自动构建 Angularjs 项目
  3. IIS配置注意点
  4. 苹果开发者账号如何多人协作进行开发和真机调试XCode
  5. Excel有用的宏
  6. css3 背景记
  7. php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
  8. 使用语音识别JAVA SDK 的MAVEN源代码制作语音控制智能家居Java APP-------MAVEN工程加载问题解决
  9. Java日志-Log4j2
  10. vuex的使用步骤
  11. react中的传参方式
  12. WMware 中CentOS系统Hadoop 分布式环境搭建(一)——Hadoop安装环境准备
  13. [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
  14. Angular4的依赖注入
  15. Mysql BLOB、BLOB与TEXT区别及性能影响、将BLOB类型转换成VARCHAR类型
  16. ubuntu eclipse 无法打开
  17. 重载方法写delete请求
  18. arcgis python arcpy add data script添加数据脚本
  19. 自定义redis序列化工具
  20. JVM的DirectMemory设置

热门文章

  1. 去掉DataGridView最后一行的空白行,删除空白行
  2. 从URL重写中学习正则表达式
  3. Intellij IDEA的安装教程
  4. springboot: xercesImpl.jar和xml-apis.jar (系统找不到指定的文件)
  5. Git系列四之在本地服务器搭建gitlab仓库管理(centeros环境下)
  6. 【POI】java服务生成List数据集合,后台服务生成xlsx临时文件,并将临时文件上传到腾讯云上
  7. Linux 笔记 - 第二十四章 配置 Tomcat
  8. SpringBoot security关闭验证
  9. Java基础笔记之String相关知识
  10. Quartz.Net 删除一个Job