【发布时间】:2020-09-22 06:32:42
【问题描述】:
我有一个看起来像这样的数据框
Date ID Value
Mar-20 A 100
Mar-20 B 200
Mar-20 C 300
Apr-20 A 101
Apr-20 B 201
Apr-20 C 301
我正在尝试重新塑造它,使其看起来像这样
Value
ID A B c
Date
Mar-20 100 200 300
Apr-20 101 201 301
我从尝试开始
df = df.set_index(["Date", "ID"])
但是将这个 let 取消堆叠到以下值错误:“索引包含重复的条目,无法重塑” 所以我在 SO 上找到了这个建议,这让我可以 unstack
df = df.set_index(["Date", "ID"].append = True)
但是当我通过“ID”(即 df = df.unstack("ID") 取消堆叠时,我的最终数据框看起来像这样
Value
Date ID A B C
Mar-20 A 100 NaN NaN
Mar-20 B NaN 200 NaN
Mar-20 C NaN NaN 300
Apr-20 A 101 NaN NaN
Apr-20 B NaN 201 NaN
Apr-20 C NaN NaN 301
如何压缩它以获得我想要的输出?
非常感谢
【问题讨论】:
-
@YOBEN_S - 是的,你支持 75% 正确,不幸的是,这个日期时间有点复杂。
-
@jezrael df.pivot(*df.columns)?
-
@YOBEN_S - 好点,添加到答案中。
-
@jezrael 将重新打开呵呵
标签: pandas