Home > Software design >  How can I give a column the same number every 7 times in a dataframe?
How can I give a column the same number every 7 times in a dataframe?

Time:10-11

How can I give a column the same number every 7 times in a dataframe?

In the last column, 'ww' I want to put the same 1 from 1-21 to 1-27, the same 2 from 1-28 to 2-3,.. 2 for the next 7 days 3 for the next 7 days, etc..

Finally, I want to put a number that increases every 7 days, but I am not sure of the code.

    date        people    ww 
0   2020-01-21  0          
1   2020-01-22  0          
2   2020-01-23  0          
3   2020-01-24  1           
4   2020-01-25  0          
... ... ...
616 2021-09-28  2289
617 2021-09-29  2883
618 2021-09-30  2564
619 2021-10-01  2484
620 2021-10-02  2247

CodePudding user response:

Since you have daily data, you can do this with simple math:

df["ww"] = (df["date"]-df["date"].min()).dt.days//7 1

>>> df
          date  ww
0   2021-01-21   1
1   2021-01-22   1
2   2021-01-23   1
3   2021-01-24   1
4   2021-01-25   1
..         ...  ..
250 2021-09-28  36
251 2021-09-29  36
252 2021-09-30  37
253 2021-10-01  37
254 2021-10-02  37
  • Related