Python-pandas-panel

提供:Dev Guides
移動先:案内検索

Pythonパンダ-パネル

パネル*は、データの3Dコンテナです。 「パネルデータ」という用語は計量経済学から派生したものであり、パンダという名前の一部を担っています- pan(el)-da(ta)*-s。

3つの軸の名前は、パネルデータに関連する操作を説明する意味的な意味を与えることを意図しています。 彼らは-

  • items -軸0、各アイテムは内部に含まれるDataFrameに対応します。
  • major_axis -軸1、これは各DataFrameのインデックス(行)です。
  • minor_axis -軸2、各DataFrameの列です。

pandas.Panel()

パネルは、次のコンストラクタを使用して作成できます-

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

コンストラクタのパラメータは次のとおりです-

Parameter Description
data Data takes various forms like ndarray, series, map, lists, dict, constants and also another DataFrame
items axis=0
major_axis axis=1
minor_axis axis=2
dtype Data type of each column
copy Copy data. Default, false

パネルを作成

パネルは、次のような複数の方法を使用して作成できます-

  • ndarraysから
  • DataFramesの辞書から

3D ndarrayから

# creating an empty 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オブジェクトの辞書から

#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

その*出力*は次のとおりです-

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

空のパネルを作成する

空のパネルは、次のようにパネルコンストラクタを使用して作成することができます-

#creating an empty 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

パネルからデータを選択する

を使用してパネルからデータを選択します-

  • アイテム
  • Major_axis
  • Minor_axis

アイテムを使用する

# 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']

その*出力*は次のとおりです-

            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

2つのアイテムがあり、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)

その*出力*は次のとおりです-

      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)

その*出力*は次のとおりです-

       Item1       Item2
0   -0.128637   -1.047032
1    0.896681   -0.557322
2    0.571668    0.431953
3   -0.144234    1.302466

-寸法の変化を観察します。