这是我的Python代码:在下面的输出中samplefile1已传入所有 3 行,因此 newcolumn{"filestatus" : "passed"}为"InputFile":"samplefile1"因为example它有一个pass又一个fail如此新的{"filestatus":"failed"}栏目{"inputfile":"example"}import jsondf = pd.DataFrame([ ['samlefile1','user1@gmail.com', 'xyz' ,'pass'], ['samlefile1','user5@gmail.com', 'xyz' ,'pass'], ['samlefile1','user6@gmail.com', 'xyz' ,'pass'], ['testfile','user2@gmail.com', 'abc' ,'pass'], ['example','user3@gmail.com', 'xyz' ,'pass'], ['example','user3@gmail.com', 'xyz' ,'fail']],columns = ['InputFile','UserId', 'UserGroup' ,'status'] )#Count no of status per filenameInput_status_count = df.groupby(['InputFile']).agg(success_count=('status', lambda x: x[x == 'pass'].count()), fail_count=('status', lambda x: x[x == 'fail'].count())) #Merge the 2 files on 'InputFile' columnFinalDF = pd.merge(df, Input_status_count,on = "InputFile" )JSON_String = FinalDF.to_json(orient='records')JSON_Stringoutput:[ {"InputFile":"samlefile1","UserId":"user1@gmail.com","UserGroup":"xyz","status":"pass","success_count":3,"fail_count":0, "filestatus":"passed"}, {"InputFile":"samlefile1","UserId":"user5@gmail.com","UserGroup":"xyz","status":"pass","success_count":3,"fail_count":0, "filestaus":"passed"}, {"InputFile":"samlefile1","UserId":"user6@gmail.com","UserGroup":"xyz","status":"pass","success_count":3,"fail_count":0, "filestatus":"passed"}, {"InputFile":"testfile","UserId":"user2@gmail.com","UserGroup":"abc","status":"","success_count":1,"fail_count":0, "filestatus":"not ran"}, {"InputFile":"example","UserId":"user3@gmail.com","UserGroup":"xyz","status":"pass","success_count":1,"fail_count":1,"filestatus":"failed"}, {"InputFile":"example","UserId":"user3@gmail.com","UserGroup":"xyz","status":"fail","success_count":1,"fail_count":1, "filestatus": "failed"}]
查看完整描述