MrClean
MrClean

Reputation: 1460

DataFrame of Dates into sequential dates

I would like to turn a dataframe as follows into a data frame of sequential dates.

Date
01/25/1995
01/20/1995
01/20/1995
01/23/1995

into

Date        Value    Cumsum
01/20/1995    2         2
01/21/1995    0         2
01/22/1995    0         2
01/23/1995    1         3
01/24/1995    0         3
01/25/1995    1         4

Upvotes: 1

Views: 35

Answers (1)

Scott Boston
Scott Boston

Reputation: 153510

Try this:

df['Date'] = pd.to_datetime(df['Date'])
df_out = df.assign(Value=1).set_index('Date').resample('D').asfreq().fillna(0)
df_out = df_out.assign(Cumsum=df_out['Value'].cumsum())
print(df_out)

Output:

            Value  Cumsum
Date                     
1995-01-20    1.0     1.0
1995-01-21    0.0     1.0
1995-01-22    0.0     1.0
1995-01-23    1.0     2.0
1995-01-24    0.0     2.0
1995-01-25    1.0     3.0

Upvotes: 4

Related Questions