1
我有3列ID
,vrddat
,enddat
和21000行的数据集。:pd.date_range输出误差
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
变量?
请建议。
非常感谢您抽出时间,你的代码是有帮助的你知不知道为什么我只得到了98行在输出?我错过了一些逻辑? – ajay
我想你会在每个循环中覆盖'data_2',所以得到最后一个循环的输出 - 在'df'中的最后一行。 – jezrael
我修改了使用重复'ID'的解决方案。 – jezrael