如何仅使用第二行中的特定数据来合并DataFrame中的两个连续行?

问题描述 投票:0回答:1

enter image description here

我的DataFrame包含成对的行,描述了机器停机的开始和停止。该对中的第一行始终显示停机时间,而停机时间则显示第二行。

我现在想合并这些对中的每对,以便一行包含停机时间的开始和结束:

enter image description here

我曾考虑过使用.groupby,但是我认为我在这里不能真正使用它,因为同一天可能会有多个不同的维修或工具更换,但具有相同的“ Standstillreason”。

哪种方法是解决此问题的最佳方法?

python pandas dataframe merge row
1个回答
0
投票

尝试一下:

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)
© www.soinside.com 2019 - 2024. All rights reserved.