使用列名中的datetime元素的熊猫取消透视数据框

问题描述 投票:0回答:2

说我有一个如下所示的熊猫数据框:

original dataframe

这里Store作为ID,Jan 18 - Mar 18列表示所述商店在相应年份和月份的销售额,Trading Area是商店的时不变特征的示例。

为简单起见,假设销售列名称已经转换为正确的日期时间格式。

预期结果:

transformed dataframe

[我当时正在考虑使用pandas.melt,但是我不确定如何正确使用列名中包含的日期时间信息来构造年份和月份的列(显然,这可以在循环中手动完成,但是我需要应用此操作到任意大的数据帧,这变得很乏味,肯定存在更优雅的解决方案)。

感谢您的任何帮助。

编辑:data = pd.DataFrame({'Store':['A', 'B', 'C'], 'Jan 18':[100, 50, 60], 'Feb 18':[120, 70, 80], 'Mar 18':[140, 90, 100], 'Trading Area':[500, 800, 700]})

python-3.x pandas
2个回答
1
投票
您可以通过以下方式使用melt

1
投票
您可以先进行wide_to_long,然后再进行stack
© www.soinside.com 2019 - 2024. All rights reserved.