pandas面板(Panel)
面板(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
|
数据采取各种形式,如:ndarray ,series ,map ,lists ,dict ,constant 和另一个数据帧(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_axis
和Minor_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)相关推荐
- Pandas 面板Panel
一.Panel介绍 Pandas 面板(Panel)是3维数据的存储结构,相当于一个存储 DataFrame 的字典,有3个轴(axis),分别给出描述涉及面板数据的操作的一些语义,具体如下: ite ...
- 面板panel与窗口frame的区别
面板panel与窗口frame的区别 References 都可以在其上加载组件 面板需要加载在组件上才能使用,而窗口不需要 JPanel和JFrame都可以作为容器存放别的控件 但JPanel一般作 ...
- AWT_面板 Panel(Java)
AWT_面板 Panel(Java) package Demo01;import java.awt.*; import java.awt.event.WindowEvent; import java. ...
- jQuery Mobile中面板panel的data-*选项
全栈工程师开发手册 (作者:栾鹏) jQuery Mobile 所有data-*选项 jQuery Mobile中面板panel的data-*选项 带有 data-role="panel&q ...
- Pandas的panel结构
panel的创建 class pandas.Panel(data=None, items=None, major_axis=None, minor_axis=None) 作用:存储3维数组的Panel ...
- html5拖动的面板 panel,基于jQuery UI的Bootstrap Panel面板功能增强插件
LobiPanel是一款基于jQuery UI的Bootstrap Panel面板功能增强插件.通过该插件可以为Bootstrap的原生Panel面板增加编辑标题,最大化,最小化,面板拖动关闭面板等功 ...
- Bootstrap3 面板 .panel 容器
面板 虽然不总是必须的,但某些时候你可能需要将某些 DOM 内容放到一个盒子里.对于这种情况,可以试试面板组件. 创建面板 Bootstrap的面板组件是内容的容器,它由页眉.主体.页脚三部分组成.面 ...
- Grafana面板(panel):数据处理(Transformation)---一个奇怪的功能!
文章目录 Transformation 概念 多个transformation的执行顺序 transformation类型 Add field from calculation Concatenate ...
- Bootstrap中的面板(panel)
背景 写自动折叠的面板时遇到点问题,虽与面板本身无关,可看到他有序的组织,我想bootstrap肯定有完整的面板结构.果不其然. 基本结构 <div class="panel-grou ...
- 深入理解BootStrap -- 面板(panel)17
1.面板 面板(Panels)是Bootstrap框架新增的一个组件,其主要作用就是用来处理一些其他组件无法完成的功能.同样在不同的版本中具有不同的源码: ☑ Less版本:对应的源码文件是 pane ...
最新文章
- 让自己的开源项目支持CocoaPods集成
- span 标记 width 设置
- Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别
- JS 面向对象实例 prototype
- java 注释标记_如何标记,像老板一样注释内容
- 如何使用GDAL进行图像镶嵌
- 【解决方案】视频结构化图像智能分析系统EasyNVR助力KTV视频监控建设
- 基于豆瓣影评数据的文本分析系统【数据爬取+数据清洗+数据库存储+LDA主题挖掘+词云可视化】
- adb命令刷机vivox20_求救VIVO X20的 ROOT可行的方法。
- Pycharm返回上一次编辑处的快捷键
- 计算机教育思维,计算机教育中计算思维的培育
- sql2008服务器运行哪个,SQL SERVER 2008R2 暂用服务器内存直到服务器死机。
- HTML 区块、布局与框架
- 嵌入式系统开发笔记6:CJ/T-188 水表协议解析1
- 1700施工方案第二季{转nbsp;仕林}
- C语言 第六章 指针 重点 典型题
- 公司AppleID的申请详细流程
- 密立根油滴计算器 C语言/python(华电用)
- 编辑服务器并更改jre位置,JRE的安装及环境变量配置
- 迅雷创始人程浩:AI 创业必知 6 大核心问题:如何选择赛道、搭配团队和应对巨头挑战
热门文章
- iptables drop与reject 的区别
- 汤晓鸥教授的一篇很有意思的文章
- laravel 使用 vue 和 element
- iOS安装ipa文件
- 使用plist文件进行ipa的安装
- 介绍PS工具“仿制图章工具”和“图案图章工具”
- github免费空间玩法
- ABAP OLE下载到EXCEL
- python电路仿真软件_4种电路仿真软件比较 - SmartLinkCloud,智联网云平台 - OSCHINA - 中文开源技术交流社区...
- 图片服务器-存储图片技巧