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