熊猫:卸载DataFrame的一列

时间:2014-02-04 13:57:54

标签: python pandas

我想在我的Pandas DataFrame中取消堆叠一列。 DataFrame由'Date'索引,我想取消堆叠'Country'列,因此每个Country都是它自己的列。目前的熊猫DF看起来像这样:

             Country   Product      Flow Unit  Quantity  
Date                                                         
2002-01-31   FINLAND  KEROSENE  TOTEXPSB  KBD    3.8129     
2002-01-31    TURKEY  KEROSENE  TOTEXPSB  KBD    0.2542     
2002-01-31  AUSTRALI  KEROSENE  TOTEXPSB  KBD   12.2787     
2002-01-31    CANADA  KEROSENE  TOTEXPSB  KBD    5.1161     
2002-01-31        UK  KEROSENE  TOTEXPSB  KBD   12.2013     

当我使用df.pivot时,我收到以下错误“ReshapeError:索引包含重复的条目,无法重塑”这是真的,因为我正在查看每个国家/地区同时报告的日期。我想要的是将“国家专栏”拆开,这样每个月只会显示一个日期。

像这样的DataFrame标题Date仍然是索引:

Date        FINLAND TURKEY  AUSTRALI  CANADA Flow      Unit

2002-01-31  3.8129  0.2542  12.2787   5.1161 TOTEXPSB   KBD

我已经研究了一段时间而且我没有到达任何地方,所以任何方向或见解都会很棒。

另外,请注意,您只看到DataFrame的头部,因此数据的年份就是这种格式。

谢谢,

道格拉斯

1 个答案:

答案 0 :(得分:2)

如果您可以放弃ProductUnitFlow,那么它应该像

一样简单
df.reset_index().pivot(columns='Country', index='Date', values='Quantity')

给予

Country  AUSTRALI    CANADA  FINLAND TURKEY  UK
Date                    
2002-01-31   12.2787     5.1161  3.8129  0.2542  12.2013