Python Forum

Full Version: Python Resampling: How do I obtain the value of the last week of the month?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi

I want to resample to obtain all the values of the last week of the month. However, there are some weeks that overlap between 2 months. For Python, it would ignore such weeks if I use the below code:

m0_2 = q0.resample('M').last()
Eg for Jan, the code take "27-Jan-89" as the last week of the month. But in reality, the week "3-Feb-89" also has days of Jan so I want the value 2 instead.
Thank you.

Initial DF:

20-Jan-89 3
27-Jan-89 4
3-Feb-89 2
10-Feb-89 5
17-Feb-89 3
24-Feb-89 5
3-Mar-89 5
10-Mar-89 6
17-Mar-89 4
24-Mar-89 5
31-Mar-89 7
7-Apr-89 6
14-Apr-89 6
21-Apr-89 4
28-Apr-89 7
5-May-89 5
12-May-89 6
19-May-89 5
26-May-89 7
2-Jun-89 7

Output from code:

1989-01-31 4
1989-02-28 5
1989-03-31 7
1989-04-30 7
1989-05-31 7
1989-06-30 7


DESIRED OUTPUT

Jan Feb Mar Apr May
1989 1989 1989 1989 1989

2.00 5.00 7.00 5.00 7.00
Haha, interesting!

In a computer, the time will be in seconds.

from datetime import datetime
now = datetime.now()
year = now.strftime("%Y")
month = now.strftime("%m")
day = now.strftime("%d")
secs = now.timestamp()
print(year, month, day, secs)
When do the weeks begin in your scheme of things? Sunday or Monday?

The first day of January, 2023 will be Sunday. Is that the start of week 1 or the end of Week 52 for you?
(Dec-10-2022, 10:32 AM)Pedroski55 Wrote: [ -> ]Haha, interesting!

In a computer, the time will be in seconds.

from datetime import datetime
now = datetime.now()
year = now.strftime("%Y")
month = now.strftime("%m")
day = now.strftime("%d")
secs = now.timestamp()
print(year, month, day, secs)
When do the weeks begin in your scheme of things? Sunday or Monday?

The first day of January, 2023 will be Sunday. Is that the start of week 1 or the end of Week 52 for you?

Monday should be the start of a new week for me. So it should be Week 52. Thank you