Python Forum
Python Resampling: How do I obtain the value of the last week of the month? - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Python Resampling: How do I obtain the value of the last week of the month? (/thread-38907.html)



Python Resampling: How do I obtain the value of the last week of the month? - JaneTan - Dec-09-2022

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


RE: Python Resampling: How do I obtain the value of the last week of the month? - Pedroski55 - Dec-10-2022

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?


RE: Python Resampling: How do I obtain the value of the last week of the month? - JaneTan - Dec-12-2022

(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