【发布时间】:2018-07-16 21:00:59
【问题描述】:
我有以下数据框
pointId april august december february \
0 307 None None None NaN
1 307 None None None NaN
2 307 None None None NaN
3 307 None None None 0.88
4 307 None None None 0.60
january july june march may november october september year
0 NaN None None NaN None None None None 2014
1 NaN None None NaN None None None None 2015
2 NaN None None NaN None None None None 2016
3 0.7 None None 1.1 None None None None 2017
4 0.5 None None NaN None None None None 2018
对于特定的pointId,它本质上在给定年份的月份列中有一些值
我需要对其进行重塑,以便将 12 列压缩为一个日期列。对于给定值,此列将包含该月的最后一个日期。所以我需要在月份列中为给定值添加一行。生成的数据框应如下所示:
pointId Date Value
0 307 01/31/2017 0.7
1 307 02/28/2017 0.88
2 307 03/31/2017 1.1
3 307 01/31/2018 0.5
4 686307 02/28/2018 0.6
像往常一样,感谢我们提供的所有帮助。如果没有 SO,我将无法工作:)
【问题讨论】:
-
您自己尝试过吗?提示:一种蛮力方法是添加 2 列:一列带有带有浮点数的月份名称,一列带有浮点数。然后创建一个结合年和月的日期列。然后删除不需要的列。
-
我有。 Stack Overflow 通常是我最后的手段,或者当我时间紧迫时。我会研究你提到的方法。谢谢
-
当然。这不仅仅是批评。它旨在帮助您设计框架并返回给我们。然后,我们可能会以您更容易理解的方式对其进行调整和改进。
标签: python pandas dataframe reshape