注意:
现状问题:新版的pandas库已经移除了数据结构panel
解决办法:使用MultiIndex的DataFrame结构替代
下一篇文章介绍 MultiIndex
----------------------------------------------------------------------------------------------
简介:
在pandas,我们有一维数据——Series,有二维数据——DataFrame,那么,我们有时候有三维数据的需求,pandas提供三维数据结构——panel
我们可以使用numpy.array数据结构来生成,一维数组生成Series,二维数组生成DataFrame,三维数组生成panel
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
# 参数介绍
- data: 数据,支持ndarray, series, map, lists, dict, constant 和 DataFrame
- items: axis = 0 的索引
- major_axis: 理解为dataframe中的index
- minor_axis: 理解为dataframe中的columns
- dtype: 每列的数据类型
- copy: 复制数据, 默认-False
创建
# 方式一
p = pd.Panel(np.random.rand(2,4,5))
# 方式二
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
切片
df = p['Item1'] # 返回dataframe
df = p.major_xs(1) # 返回dataframe,一维的索引为列
df = p.minor_xs(1) # 范围dataframe, 一维的索引为列