使用pandas面板创建一个3d矩阵

时间:2017-03-08 06:00:36

标签: python csv pandas

我的目标是创建一个pandas面板,我目前有一个csv,样本如下:

Year From country            To country  Points
2005      Albania               Albania       0
2005      Albania  Bosnia & Herzegovina       0
2005      Albania               Croatia       2
2005      Albania                Cyprus       7
2005      Albania               Denmark       0

我想制作一个3D数组,其中第一个轴是所有年份范围,我必须通过csv搜索以查找2005年转到2006年等,然后下一个轴将是来自国家和另一个轴将是国家,那些轴将具有积分的价值......如果这是有道理的?熊猫面板是我应该在这里使用的工具吗?如何在大数据框架中花费多年来为假设的所有年份(2005年 - 2016年)创建新的数据框架

编辑: 我找到了这张照片,这正是我每年要做的事情而不是所有年份的平均值。所以它就像2005年至2016年每年的其中一张图表 matrix

1 个答案:

答案 0 :(得分:0)

格式化数据框,其中索引是具有两个级别的多索引。使用方法to_panel将假定Items位于列中,Major_axis位于索引的第一级,Minor_axis位于索引的第二级。

df.set_index(['From country', 'To country', 'Year']).Points.unstack().to_panel()

<class 'pandas.core.panel.Panel'>
Dimensions: 1 (items) x 1 (major_axis) x 5 (minor_axis)
Items axis: 2005 to 2005
Major_axis axis: Albania to Albania
Minor_axis axis: Albania to Denmark