因此,我的数据集包含一些按业务日期划分的信息,如下所示:
Business Date Value
a 1/1/2017 127
a 2/1/2017 89
b 2/1/2017 122
a 1/1/2018 555
a 2/1/2018 455
我需要如下格式的数据:我如何转换它。我不希望在我的输出数据集中有多个级别
Business 1/1/2017 2/1/2017 1/1/2018 2/1/2018
a 127 89 555 455
b N/A 122 N/A N/A
我尝试了以下语法:
df = df.set_index(['Business','Date'])['Value'].unstack()
df=df.pivot(index='Business', columns='Date', values='Value')
我得到的输出如下:
Date 1/1/2017 2/1/2017 1/1/2018 2/1/2018
Business
a 454 5555 555 444
b - 444 - -
当我打印列时,它没有将LOB显示为列。我的最终数据帧还应该包括Business、Date字段作为列,以便我可以将此数据帧与另一个业务数据帧连接起来
发布于 2018-02-24 01:00:49
你离你想要的很近了。您只需删除自定义索引并将其替换为默认索引即可。
pivoted = df.pivot(index='Business', columns='Date', values='Value')\
.reset_index()
pivoted.columns.name=None
print(pivoted)
# Business 1/1/2017 1/1/2018 2/1/201 2/1/2017
#0 a 127.0 555.0 455.0 99.0
#1 b NaN NaN NaN 122.0
发布于 2018-02-24 00:27:10
使用pivot
df.pivot(index='Business', columns='Date', values='Value')
https://stackoverflow.com/questions/48958035
复制相似问题