pandas 学习笔记--------panel

参考自:https://www.yiibai.com/pandas/python_pandas_panel.html

pandas 学习笔记--------panel_第1张图片

上图可当成panel,即Series为一维,dataframe为二维,panel为三维。

可用以下函数构造panel

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

其中,data为数据。可通过多种方式构造。
items相当于上图中的分类标签。在item确定之后,就可以将其看作dataframe
Major_axis即为dataframe中的index。
Minor_axis为dataframe中的columns。

1,创建一个空面板,此处不多说
2,通过字典dataframe创建面板:
一开始试了字典系列,发现会报错,所以又采用了字典dataframe的方式。字典键即为item,里面的index和columns分别为主轴和次轴。

import pandas as pd

d = {"one": pd.DataFrame([1, 2, 3],index=["a","b","c"], columns=["hh"])}

df = pd.Panel(d)
print (df)


Dimensions: 1 (items) x 3 (major_axis) x 1 (minor_axis)
Items axis: one to one
Major_axis axis: a to c
Minor_axis axis: hh to hh

3,通过3维数组创建面板:

import pandas as pd
import numpy as np
df = pd.Panel(np.random.rand(2,3,4))
print (df)


Dimensions: 2 (items) x 3 (major_axis) x 4 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 2
Minor_axis axis: 0 to 3

创建的三维数组,分别对应相应的item,主轴和次轴。

功能:

import pandas as pd
import numpy as np

df = pd.Panel(np.random.rand(2,3,4),
              items=["aa","bb"],major_axis=["a","b","c"],minor_axis=["q","w","e","f"])
print (df)
print("选择项目",df["aa"])
print("选择主轴",df.major_xs("b"))
print("选择次轴",df.minor_xs("q"))
print("选择某元素",df["aa","b","q"])



Dimensions: 2 (items) x 3 (major_axis) x 4 (minor_axis)
Items axis: aa to bb
Major_axis axis: a to c
Minor_axis axis: q to f
选择项目           q         w         e         f
a  0.488587  0.855737  0.032916  0.106395
b  0.950385  0.251045  0.051626  0.427011
c  0.271140  0.774883  0.066487  0.129807
选择主轴          aa        bb
q  0.950385  0.235801
w  0.251045  0.353422
e  0.051626  0.595372
f  0.427011  0.314126
选择次轴          aa        bb
a  0.488587  0.695660
b  0.950385  0.235801
c  0.271140  0.757256
选择某元素 0.9503852814428109

选择项目时,直接用标签选择即可。
选择主轴和次轴时,则需调用相应的方法。
选择某一元素时,直接选标签即可。

你可能感兴趣的:(note)