这是一个数据集,其中包含人员被分配到某个角色的时间,并具有他们的开始日期,以及他们担任角色的月份的年月:
| ID | Name | strt_dt | end_dt | yearmo |
| 1 | Jay | 4-22-19 | 7-30-19| 201904 |
| 1 | Jay | 4-22-19 | 7-30-19| 201905 |
| 1 | Jay | 4-22-19 | 7-30-19| 201906 |
| 1 | Jay | 4-22-19 | 7-30-19| 201907 |
| 2 | Fao | 7-14-19 |10-14-19| 201907 |
| 2 | Fao | 7-14-19 |10-14-19| 201908 |
| 2 | Fao | 7-14-19 |10-14-19| 201909 |
| 2 | Fao | 7-14-19 |10-14-19| 201910 |
我要计算这个人在这个角色中的每一年,那个月有多少天他们在这个角色中。输出应如下所示:
| ID | Name | strt_dt | end_dt | yearmo | no_of days|
| 1 | Jay | 4-22-19 | 7-30-19| 201904 | 9 |
| 1 | Jay | 4-22-19 | 7-30-19| 201905 | 31|
| 1 | Jay | 4-22-19 | 7-30-19| 201906 | 30|
| 1 | Jay | 4-22-19 | 7-30-19| 201907 | 30|
| 2 | Fao | 7-14-19 |10-14-19| 201907 | 18|
| 2 | Fao | 7-14-19 |10-14-19| 201908 | 31|
| 2 | Fao | 7-14-19 |10-14-19| 201909 | 30|
| 2 | Fao | 7-14-19 |10-14-19| 201910 | 14|
我试图从 strt 中提取它们的日期(将其减去 30 以获得 ddays 的编号)和结束日期并创建一个单独的列。但我坚持如何从那里开始。欢迎任何想法或建议。
df['strt_yearmo'] = df['strt_dt'].dt.year * 100 +df['strt_dt'].dt.month
df['end_yearmo'] = df['end_dt'].dt.year * 100 +df['end_dt'].dt.month
| ID | Name | strt_dt | end_dt | yearmo | strt_yearmo|end_yearmo|
| 1 | Jay | 4-22-19 | 7-30-19| 201904 | 201904 |201907|
| 1 | Jay | 4-22-19 | 7-30-19| 201905 | 201904 |201907|
| 1 | Jay | 4-22-19 | 7-30-19| 201906 | 201904 |201907|
| 1 | Jay | 4-22-19 | 7-30-19| 201907 | 201904 |201907 |
| 2 | Fao | 7-14-19 |10-14-19| 201907 | 201907 |201910 |
| 2 | Fao | 7-14-19 |10-14-19| 201908 | 201907 |201910 |
| 2 | Fao | 7-14-19 |10-14-19| 201909 | 201907 |201910 |
| 2 | Fao | 7-14-19 |10-14-19| 201910 | 201907 |201910 |
千巷猫影
相关分类