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
下午好,希望你一切都好。
我有一个以下格式的 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