【发布时间】:2017-05-14 12:12:04
【问题描述】:
我有一个包含 3 列 ID、vrddat、enddat 和 21000 行的数据集。
ID vrddat enddat
1 2015.01.01 2015.01.03
2 2015.03.01 2015.03.03
PS:每个ID可以有多个vrddat和enddat。
我需要如下输出:
ID vrddat enddat day
1 2015.01.01 2015.01.03 2015.01.01
1 2015.01.01 2015.01.03 2015.01.02
1 2015.01.01 2015.01.03 2015.01.03
2 2015.03.01 2015.03.03 2015.03.01
2 2015.03.01 2015.03.03 2015.03.02
2 2015.03.01 2015.03.03 2015.03.03
我使用以下代码来获得以上输出
for index,row in data.iterrows():
data_2 = pd.DataFrame(pd.date_range(row['vrddat'],row['enddat'], freq ='D'))
使用上面的代码我只得到 98 行,但理想情况下输出应该比输入包含更多的行。任何人都可以建议为什么我会得到这种输出。我的代码没有迭代每一行吗?如何在我的输出中也获得 ID、vrddat 和 enddat 变量?
请提出建议。
【问题讨论】:
标签: python loops datetime pandas date-range