Pandas库学习笔记(5)---Pandas Panel
Pandas Panel
Pandas Panel基本操作
Panel数据3D容器. 术语 Panel data 源自计量经济学,名称来之于pandas − pan(el)-da(ta)-s.
3个轴的名称描述如下- −
- items − 轴0,每个items都对应一个包含在其中的DataFrame。
- major_axis − 轴1,它是每个DataFrame的索引(行)。
- minor_axis − 轴2,它是每个DataFrame的列。
pandas.Panel()
面板可以使用以下构造函数创建- −
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
构造函数的参数如下:
| 参数 | 描述 |
| data | 数据采用各种形式,例如ndarray,series,map,list,dict,常量以及DataFrame |
| items | axis=0 |
| major_axis | axis=1 |
| minor_axis | axis=2 |
| dtype | 每列的数据类型 |
| copy | 复制数据。默认 false |
创建 Panel
面板可以使用多种方式创建,例如:
从 ndarrays 创建从 DataFrame的字典创建
从ndarrays创建
# 创建一个空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
从 DataFrame的字典创建
# 创建一个空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)
运行结果: Dimensions: 2 (items) x 4 (major_axis) x 3 (minor_axis)
Items axis: Item1 to Item2
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 2
创建一个空Panel
可以使用Panel构造函数创建一个空面板,如下所示:
# 创建一个空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
从Panel中查询数据
可以用以下三项从panel中查询数据:
ItemsMajor_axisMinor_axis
用 Items查询
# 创建一个空panel
import pandas as pd
import numpy as np
data = {
运行结果: 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
从两个item中查询item1,输出的结果是一个具有4行3列的DataFrame,分别是Major_axis和Minor_axis。
用major_axis查询
可以使用panel.major_axis(index)方法访问数据.
# 创建一个空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)方法访问数据。
# 创建一个空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
Pandas库学习笔记(5)---Pandas Panel的更多相关文章
- pandas库学习笔记(二)DataFrame入门学习
Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...
- pandas库学习笔记(一)Series入门学习
Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...
- python的pandas库学习笔记
导入: import pandas as pd from pandas import Series,DataFrame 1.两个主要数据结构:Series和DataFrame (1)Series是一种 ...
- 学习笔记之pandas
Python Data Analysis Library — pandas: Python Data Analysis Library https://pandas.pydata.org/ panda ...
- python之pandas学习笔记-初识pandas
初识pandas python最擅长的就是数据处理,而pandas则是python用于数据分析的最常用工具之一,所以学python一定要学pandas库的使用. pandas为python提供了高性能 ...
- numpy, matplotlib库学习笔记
Numpy库学习笔记: 1.array() 创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...
- muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...
- muduo网络库学习笔记(三)TimerQueue定时器队列
目录 muduo网络库学习笔记(三)TimerQueue定时器队列 Linux中的时间函数 timerfd简单使用介绍 timerfd示例 muduo中对timerfd的封装 TimerQueue的结 ...
- C++STL标准库学习笔记(三)multiset
C++STL标准库学习笔记(三)multiset STL中的平衡二叉树数据结构 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标 ...
随机推荐
- tcc-transaction源码详解
更多优秀博文,请关注博主的个人博客:听到微笑的博客 本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的:不涉及具体使用示例.本文通过分析tcc-transaction源码带大家了解TCC分布式 ...
- Anaconda 虚拟环境
1. 查看虚拟环境 conda env list 2. 创建虚拟环境 conda create -n env_name python=3.8 --- env_name: 虚拟环境名 --- pytho ...
- Yii框架Ar操作
1.$admin=Admin::model()->findAll($condition,$params); 该方法是根据一个条件查询一个集合,如: findAll("u ...
- 从xib初始化的UIView如何继承?
一.如何从xib自定义一个CustomView 1)首先创建继承自UIView的子类CustomView 2)创建名字为CustomView的View的Interface文件 3)在xib的资源文件中 ...
- OpenCV笔记(7) 轮廓
1. 查找轮廓 FindContours public static void FindContours(InputOutputArray image, //输入8-bit单通道的图片 out Mat ...
- kettle从入门到精通 第四十八课 ETL之kettle webspoon
1.kettle自带的客户端spoon工具是cs架构,多人协同办公起来不是特别方便.当然spoon也可以通过文件仓库设置为database模式进行协同办公.每个人在自己电脑上安装&打开spoo ...
- 基于 Swagger 增强 UI FytApi.MUI
FytApi.MUI 介绍 基于swagger的轻量级,注入化的api-ui组件 支持netcore 3.1/5.0/6.0 特点 零浸入.轻量.简单.好看.好用 可配置权限认证以及Header,支持 ...
- nexus服务启动/关闭命令
nexus服务启动/关闭命令history | grep nexus # 查看服务器上面的历史请求命令ps -ef | grep nexus 查看进程及目录find / -name 'nexus' # ...
- spring-事务案例
spring的案例场景 同一个事务中使用并发操作导致更新获取锁失败 @Autowired Service service1; @Transactional public void methodA(){ ...
- vim 中代码的折叠和打开
# vim 中代码的折叠和打开 reference: vim中代码的折叠和打开(有删改) https://www.cnblogs.com/xuxm2007/archive/2011/11/10/224 ...