这是我的Python代码:
在下面的输出中samplefile1已传入所有 3 行,因此 newcolumn{"filestatus" : "passed"}为"InputFile":"samplefile1"
因为example它有一个pass又一个fail如此新的{"filestatus":"failed"}栏目{"inputfile":"example"}
import json
df = 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 filename
Input_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' column
FinalDF = pd.merge(df, Input_status_count,on = "InputFile" )
JSON_String = FinalDF.to_json(orient='records')
JSON_String
output:
[
{"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"}
]
红糖糍粑
白衣非少年
相关分类