Pandas Panel

   Pandas Panel基本操作

Panel數(shù)據(jù)3D容器. 術語 Panel data 源自計量經濟學,名稱來之于pandas ? pan(el)-da(ta)-s.

3個軸的名稱描述如下- ?

items ? 軸0,每個items都對應一個包含在其中的DataFrame。

major_axis ? 軸1,它是每個DataFrame的索引(行)。

minor_axis ? 軸2,它是每個DataFrame的列。

pandas.Panel()

面板可以使用以下構造函數(shù)創(chuàng)建- ?

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

構造函數(shù)的參數(shù)如下:

參數(shù)描述
data數(shù)據(jù)采用各種形式,例如ndarray,series,map,list,dict,常量以及DataFrame
itemsaxis=0
major_axisaxis=1
minor_axisaxis=2
dtype每列的數(shù)據(jù)類型
copy復制數(shù)據(jù)。默認 false

創(chuàng)建 Panel

面板可以使用多種方式創(chuàng)建,例如:

從 ndarrays 創(chuàng)建 從 DataFrame的字典創(chuàng)建

從ndarrays創(chuàng)建

 # 創(chuàng)建一個空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的字典創(chuàng)建

  # 創(chuàng)建一個空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

創(chuàng)建一個空Panel

可以使用Panel構造函數(shù)創(chuàng)建一個空面板,如下所示:

 # 創(chuàng)建一個空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中查詢數(shù)據(jù)

可以用以下三項從panel中查詢數(shù)據(jù):

Items Major_axis Minor_axis

用 Items查詢

 # 創(chuàng)建一個空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)方法訪問數(shù)據(jù).

 # 創(chuàng)建一個空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)方法訪問數(shù)據(jù)。

 # 創(chuàng)建一個空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
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清