首先,您可以使用pandasdf.apply函数来创建Testcase列的一系列根值。一、 例如,TC_008_038-01&;TC_008_038-02有根TC_008_038,这是你想要对它们进行分组的依据。在df = pd.read_csv('something.csv')
root = df['Testcase'].apply(lambda x:'_'.join(x.replace('-', '_').split('_')[0:3]))
接下来,使用pandasdf.groupby函数将具有相同root的那些分组组合在一起,然后在分组的Results列上使用agg(sum),将它们组合成每个组的一个字符串“PassedFailedPassedFailed”。带有agg(sum)的groupby返回一个pandas series对象,如下所示:
^{pr2}$
您可以在序列上使用.apply和一个lambda函数来确定字符串中是否存在“Failed”,如果是,则将其设置为“Failed”,如果不存在,则将其设置为“Passed”。然后可以使用dict将序列转换为字典。所有这些加起来将是:values = dict(df.groupby(root)['Result'].agg(sum).apply(lambda x: 'Failed' if 'Failed' in x else 'Passed'))
values字典:{'TC_008_005': 'Passed', 'TC_008_035': 'Passed', 'TC_008_03