举例说明如何在Pandas中使用面板

336 阅读2分钟

Pandas panel结构来自于panel data这个词,但它只适用于0.25之前的pandas版本。从pandas 0.25版本开始,panel结构已经被弃用。本文将给你一些关于pandas的面板结构的例子,希望在你需要的时候有所帮助。

1.什么是Pandas面板结构

  1. 面板是一个用于存储数据的三维数据结构。
  2. 它有三个轴:items(轴0),main_axis(轴1),minor_axis(轴2)。
  3. items:轴=0,面板中的每个项目都对应于一个DataFrame对象。
  4. major_axis: axis = 1, 用来描述每个DataFrame的行索引。
  5. minor_axis: axis = 2, 用来描述每个DataFrame的列索引。

2.如何创建潘达斯面板对象

  1. 你可以使用以下构造函数来创建一个面板。

    pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
    
    data : Input data can be ndarray, series, list, dictionary, or dataframe object.
    
    items : axis=0.
    
    major_axis : axis=1.
    
    minor_axis : axis=2.
    
    dtype : Data type of each column.
    
    copy : The default is false, indicating whether to copy data or not.
    
  2. 创建一个空的面板

    # import pandas module as pd.
    import pandas as pd
    
    # create an empty panel.
    panel_object = pd.Panel()
    
    # print out the panel object.
    print(panel_object)
    
  3. 从一个3维数组创建一个面板

    # import pandas module as pd
    import pandas as pd
    
    # import numpy module as np
    import numpy as np
    
    # Returns a uniformly distributed random sample with values between [0,1], a 3 dimension array.
    data = np.random.rand(2,4,5)
    
    # create the pandas panel object.
    panel_object = pd.Panel(data)
    
    # print out the panel object.
    print (panel_object)
    
  4. 从一个DataFrame对象创建一个面板

    # import pandas, numpy module.
    import pandas as pd
    import numpy as np
    
    # create a python dictionary object the key is panel item, and the value is a pandas DataFrame object.
    data = {'Item1' : pd.DataFrame(np.random.randn(6, 3)),
       'Item2' : pd.DataFrame(np.random.randn(8, 2))}
    
    # create the panel object based on the above DataFrame dictionary.
    panel_object = pd.Panel(data)
    
    # print out the panel object.
    print(panel_object)
    

3.如何查询潘达斯面板数据

  1. 如果你想从面板对象中选择数据,你可以使用面板的三个轴,即itemsmain_axis,minor_ axis

  2. 下面的例子使用items来查询数据。

    # import pandas, numpy module.
    import pandas as pd
    import numpy as np
    
    # create a python dictionary object the key is panel item, and the value is a pandas DataFrame object.
    data = {'Item1' : pd.DataFrame(np.random.randn(6, 3)),
       'Item2' : pd.DataFrame(np.random.randn(8, 2))}
    
    # create the panel object based on the above DataFrame dictionary.
    panel_object = pd.Panel(data)
    
    # print out the panel object.
    print(panel_object)
    
    # print the item1 in panel object.
    print(panel_object['Item1'])