2-Pandas之什么是Panel?
一、什么是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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | >>> 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' ><em id = "__mceDel" > < / em> |
三、Panel的转换
通过to_frame()将Panel转转成一个“堆积式”的DataFrame(stacked DataFrame),此时Paenl的形式与索引都将方便许多。
1 2 3 4 5 6 7 8 9 | >>> 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 |
分类:
数据分析
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 为DeepSeek添加本地知识库
· .NET程序员AI开发基座:Microsoft.Extensions.AI
· 精选4款基于.NET开源、功能强大的通讯调试工具
· 数据不出内网:基于Ollama+OneAPI构建企业专属DeepSeek智能中台
· 大模型工具KTransformer的安装