Given the following DataFrame:
+-------+-----+-------+-----+--------+---------------------------+
| DID | CID | Event | OID | Source | TimeStamp |
+-------+-----+-------+-----+--------+---------------------------+
| 25078 | 14 | QBT | 0 | EMS | 2019-10-15 10:54:35 +0000 |
| 25078 | 14 | NDOBT | 0 | EMS | 2019-10-15 10:54:48 +0000 |
| 25078 | 14 | SBT | 0 | EMS | 2019-10-15 10:54:52 +0000 |
| 25078 | 14 | SBT-1 | 0 | ECS | 2019-10-15 11:00:01 +0000 |
| 25078 | 14 | SBT-1 | 0 | ECS | 2019-10-15 11:00:26 +0000 |
| 25078 | 14 | SBT-1 | 0 | ECS | 2019-10-15 11:00:50 +0000 |
| 25078 | 14 | SBT | 0 | EMS | 2019-10-15T14:27:45 |
| 25078 | 14 | SBT | 0 | EMS | 2019-10-15T14:27:45 |
| 25078 | 14 | LSFA | 0 | SPDLS | 2019-10-15T14:28:16 |
| 25078 | 14 | LSFA | 0 | SPDLS | 2019-10-15T14:28:16 |
| 25078 | 14 | FEAR | 0 | CBS | 2019-10-15T14:28:18 |
| 25078 | 14 | FEAR | 0 | CBS | 2019-10-15T14:28:18 |
| 25078 | 14 | SBT | 0 | EMS | 2019-10-15T14:28:44 |
| 25078 | 14 | SBT | 0 | EMS | 2019-10-15T14:28:44 |
| 25078 | 14 | LSFA | 0 | SPDLS | 2019-10-15T14:30:55 |
| 25078 | 14 | LSFA | 0 | SPDLS | 2019-10-15T14:30:55 |
| 25078 | 14 | SBT | 0 | EMS-1 | 2019-10-15T15:28:43 |
| 25078 | 14 | SBT | 0 | EMS-1 | 2019-10-15T15:29:02 |
| 25078 | 14 | FEAR | 0 | CBS | 2019-10-15T15:30:51 |
| 25078 | 14 | FEAR | 0 | CBS | 2019-10-15T15:30:51 |
| 25078 | 14 | DBT | 0 | RS | 2019-10-15T15:44:23 |
| 25078 | 14 | QBT | 0 | EMS-1 | 2019-10-15T16:02:16 |
+-------+-----+-------+-----+--------+---------------------------+
I want to get the first and last occurrences of some events and source so that the final output looks something like this:
+-------+-----+---------------------+--------------------+---------------------+--------------------+---------------------------+---------------------------+---------------------------+---------------------+
| DID | CID | Event-QBT-Last-DT | Event-QBT-First-DT | Event-SBT-Last-DT | Event-SBT-First-DT | Screen-ECS-First-DT | Screen-ECS-Last-DT | FirstTimeUsage | LastTime Usage |
+-------+-----+---------------------+--------------------+---------------------+--------------------+---------------------------+---------------------------+---------------------------+---------------------+
| 25078 | 14 | 2019-10-15T16:02:16 | 10/15/19 10:54 AM | 2019-10-15T15:29:02 | 10/15/19 10:54 AM | 2019-10-15 11:00:01 +0000 | 2019-10-15 11:00:50 +0000 | 2019-10-15 10:54:35 +0000 | 2019-10-15T16:02:16 |
+-------+-----+---------------------+--------------------+---------------------+--------------------+---------------------------+---------------------------+---------------------------+---------------------+
How can i achieve this using pandas.