【发布时间】:2021-12-12 09:49:45
【问题描述】:
我有一个数据集 df,我想在其中旋转数据以使行值变为列。
数据
id Date consumed available
aa q122 727.2 272.8
aa q222 975.7 24.3
bb q122 0 1000
bb q222 117.3 882.7
希望
id q122_consumed q122_available q222_consumed q222_available
aa 727.2 272.2 975.7 24.3
bb 0 1000 117.3 882.7
正在做
out = df[['id', 'Date']].join(
df.assign(consumed=df['consumed'],
available=df['available'])
.groupby('id')[['consumed', 'available']].cumsum()
).pivot('id', 'Date', ['consumed', 'available'])
out.columns = out.columns.to_flat_index().map('_'.join)
但是,我没有得到想要的输出。任何建议表示赞赏。
【问题讨论】: