Сгруппируйте ключ и примените .first()
agg = df.groupby('Date/Time').first()
Создать новый столбец для «статуса»:
agg['STATUS'] = agg['ON'].fillna(agg['OFF'])
Удалить столбцы, если необходимо:
agg.drop(['ON', 'OFF'], axis=1, inplace=True)
Оставляет вас agg
как:
P1 P2 P83 STATUS
Date/Time
2014-01-13 11:41 NaN NaN path 83 offline
2014-03-26 14:37 path 1 NaN path 83 offline
2014-03-26 15:33 path 1 NaN NaN online
2014-04-25 5:44 NaN path 2 NaN offline