Python 根据多个条件将数据框的行添加/合并在一起

Python add / merge rows of a dataframe together based on multiple conditions

下午好,希望你一切都好。

我有一个以下格式的 xlsx 文件,它是我一直用来解析数据的 Python 函数的输出:-

我已将此 xlsx 文件加载到 pandas df 中以尝试实现以下输出:-

我要满足的要求是:- 对于数据框中的每一行,如果“应用程序 ID”和“测试阶段”列值匹配,那么我想将这些列值的行值加在一起,并将原始匹配的行替换为包含求和值的一行.

如果列值匹配,则应保留原始行。

如果有关于如何实现这一点的任何指示,将不胜感激。 在将值写入源 xlsx 输出文件之前,我试图在函数中实现此代码,但是我认为通过使用 pandas / numpy.

会更容易实现

非常感谢 吉米

使用groupby_sum:

out = df.groupby(['Application ID', 'Test Phase'], as_index=False).sum()
print(out)

# Output
   Application ID Test Phase  Total Tests   A
0               9        SIT           36  36
1              11        UAT            5   5

设置:

data = {'Application ID': [9, 9, 11],
        'Test Phase': ['SIT', 'SIT', 'UAT'],
        'Total Tests': [9, 27, 5],
        'A': [9, 27, 5]}
df = pd.DataFrame(data)
print(df)

# Output
   Application ID Test Phase  Total Tests   A
0               9        SIT            9   9
1               9        SIT           27  27
2              11        UAT            5   5