【发布时间】:2021-05-14 03:08:15
【问题描述】:
如何根据 interval_start 和 interval_end
在 pandas 或 numpy 中扩展以下数据帧我尝试过的例子很少,但在一个月的最后几天都没有。
输入 DF:
+--------------+------------+----+---+
|interval_start|interval_end|name|val|
+--------------+------------+----+---+
|2018-10-31 |2020-09-05 | abc|1 |
|2020-09-05 |2020-10-05 | abc|1 |
|2020-01-31 |2020-04-30 | def|2 |
+--------------+------------+----+---+
从输入 DF 拆分数据帧,基于两列 interval_start 和 interval_end 以及它们之间的日期序列,如输出 DF 所示
输出DF:
+--------------+------------+----+---+
|interval_start|interval_end|name|val|
+--------------+------------+----+---+
|2018-10-31 |2018-11-30 | abc|1 |
|2018-11-30 |2018-12-31 | abc|1 |
|2018-12-31 |2019-01-31 | abc|1 |
|2019-01-31 |2019-02-28 | abc|1 |
|2019-02-28 |2019-03-31 | abc|1 |
|2019-03-31 |2019-04-30 | abc|1 |
|2019-04-30 |2019-05-31 | abc|1 |
|2019-05-31 |2019-06-30 | abc|1 |
|2019-06-30 |2019-07-31 | abc|1 |
|2019-07-31 |2019-08-31 | abc|1 |
|2019-08-31 |2019-09-30 | abc|1 |
|2019-09-30 |2019-10-31 | abc|1 |
|2019-10-31 |2019-11-30 | abc|1 |
|2019-11-30 |2019-12-31 | abc|1 |
|2019-12-31 |2020-01-31 | abc|1 |
|2020-01-31 |2020-02-29 | abc|1 |
|2020-02-29 |2020-03-31 | abc|1 |
|2020-03-31 |2020-04-30 | abc|1 |
|2020-04-30 |2020-05-31 | abc|1 |
|2020-05-31 |2020-06-30 | abc|1 |
|2020-06-30 |2020-07-31 | abc|1 |
|2020-07-31 |2020-08-31 | abc|1 |
|2020-08-31 |2020-09-05 | abc|1 |
|2020-09-05 |2020-10-05 | abc|1 |
|2020-01-31 |2020-02-29 | def|2 |
|2020-02-29 |2020-03-31 | def|2 |
|2020-03-31 |2020-04-30 | def|2 |
+--------------+------------+----+---+
【问题讨论】:
-
我认为这已经得到解答。检查:stackoverflow.com/questions/23891575/…有关更多信息,您可以使用此链接:chris.friedline.net/2015-12-15-rutgers/lessons/python2/…
-
不,这完全不同
-
那么我不明白输入 df 必须发生什么才能获得输出。你能试着更详细地解释一下吗?
-
从日期2018-10-31到2020-09-05需要根据interval_start和interval_end以一个月的间隔扩展dataframe
标签: python pandas python-2.7 dataframe numpy