Pandas基础入门(4)Panel

学习汇总:点这里

面板(Panel)是3D容器的数据。面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s。
3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义。它们是 -

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

pandas.Panel()

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

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

Python构造函数的参数如下 :

参数描述
data数据采取各种形式,如:ndarray,series,map,lists,dict,constant和另一个数据帧(DataFrame)
itemsaxis=0
major_axisaxis=1
minor_axisaxis=2
dtype每列的数据类型
copy复制数据,默认 - false

创建面板

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

  1. 从ndarrays创建
  2. 从DataFrames的dict创建

1.从3D ndarray创建

>>>import pandas as pd
>>>import numpy as np
>>>data = np.random.rand(2,4,5)
>>>p = pd.Panel(data)
>>>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.从DataFrame对象的dict创建面板

>>>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)
>>>p
<class 'pandas.core.panel.Panel'>
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

3.创建一个空面板

>>>import pandas as pd
>>>p = pd.Panel()
>>>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

从面板中选择数据

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

  1. Items
  2. Major_axis
  3. Minor_axis

1.使用Items

>>>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)
>>>p['Item1']
          0         1         2
0  1.680050 -0.131174  2.062063
1 -1.876838  0.410399  0.575084
2  0.997676  0.630704 -1.150107
3 -1.571193 -2.038553 -1.372589

2.使用major_axis(可以使用panel.major_axis(index)方法访问数据)。

>>>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)
>>>p.major_xs(1)
      Item1     Item2
0 -1.341500 -1.452453
1  0.592554  1.058616
2 -0.456414       NaN

3.使用minor_axis(可以使用panel.minor_axis(index)方法访问数据)。

>>>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)
>>>p.minor_xs(1)
      Item1     Item2
0  0.314772  0.316735
1 -1.129884 -0.294042
2 -0.066124 -0.910311
3  0.470638 -0.427183
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值