Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Map time spent on level based on the date duration pandas python

I have this dataset which has a log of what happened to an issue within given time. I would like to label each status that it went to what level it has been during that time. Im doing it on python using pandas.

EDIT: Adding that each log is tied to a project and I have multiple project with different log. The below example is for 1 project only.

Date Field Old Value New Value
2024-05-16 20:03:00 Status Development QA
2024-05-15 01:30:00 Level 3 2
2024-05-14 20:03:00 Status Work In Progress Development
2024-05-12 20:03:00 Status Investigate Work in Progress
2024-05-08 01:30:00 Level 4 3
2024-05-06 18:57:00 Status Scrub Investigate
2024-04-30 00:18:00 Level N/A 4

This is the output I want:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Date Field Old Value New Value Level Spent
2024-05-16 20:03:00 Status Development QA 2
2024-05-15 01:30:00 Level 3 2 2
2024-05-14 20:03:00 Status Work In Progress Development 3
2024-05-12 20:03:00 Status Investigate Work in Progress 3
2024-05-08 01:30:00 Level 4 3 3
2024-05-06 18:57:00 Status Scrub Investigate 4
2024-04-30 00:18:00 Level N/A 4 4

>Solution :

IIUC, sort the values by Date, select the values where Field is Level, then ffill:

df['Level Spent'] = (df.sort_values(by='Date')['New Value']
                     .where(df['Field'].eq('Level')).ffill()
                    )

Output:

                  Date   Field         Old Value         New Value Level Spent
0  2024-05-16 20:03:00  Status       Development                QA           2
1  2024-05-15 01:30:00   Level                 3                 2           2
2  2024-05-14 20:03:00  Status  Work In Progress       Development           3
3  2024-05-12 20:03:00  Status       Investigate  Work in Progress           3
4  2024-05-08 01:30:00   Level                 4                 3           3
5  2024-05-06 18:57:00  Status             Scrub       Investigate           4
6  2024-04-30 00:18:00   Level               NaN                 4           4
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading