我的DataFrame包含成对的行,描述了机器停机的开始和停止。该对中的第一行始终显示停机时间,而停机时间则显示第二行。
我现在想合并这些对中的每对,以便一行包含停机时间的开始和结束:
我曾考虑过使用.groupby,但是我认为我在这里不能真正使用它,因为同一天可能会有多个不同的维修或工具更换,但具有相同的“ Standstillreason”。
哪种方法是解决此问题的最佳方法?
尝试一下:
res = df[df['Standstillreason'].eq('Repair')].groupby(['Standstillreason','Date'])['Time'].min().reset_index()
res = res.append(df[df['Standstillreason'].eq('Tool change')].groupby(['Standstillreason','Date'])['Time'].max().reset_index())
print(res)