我想在 Pandas DataFrame 中取消堆叠一列。DataFrame 由“日期”索引,我想拆开“国家/地区”列,以便每个国家/地区都是自己的列。当前的熊猫 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
Run Code Online (Sandbox Code Playgroud)
当我使用 df.pivot 时,我收到以下错误“ReshapeError:索引包含重复条目,无法重塑”这是真的,因为我正在查看每个国家/地区同时报告的日期。我想要的是拆开“国家/地区列”,以便每个月只显示一个日期。
像这样 Date 的 DataFrame 标头仍然是索引:
Date FINLAND TURKEY AUSTRALI CANADA Flow Unit
2002-01-31 3.8129 0.2542 12.2787 5.1161 TOTEXPSB KBD
Run Code Online (Sandbox Code Playgroud)
我已经在这方面工作了一段时间,但我一无所获,因此任何方向或见解都会很棒。
另外,请注意,您只能看到 DataFrame 的头部,因此多年的数据采用这种格式。
谢谢,
道格拉斯
如果你可以删除Product, Unit, 那么Flow它应该像
df.reset_index().pivot(columns='Country', index='Date', values='Quantity')
Run Code Online (Sandbox Code Playgroud)
给予
Country AUSTRALI CANADA FINLAND TURKEY UK
Date
2002-01-31 12.2787 5.1161 3.8129 0.2542 12.2013
Run Code Online (Sandbox Code Playgroud)