@@ -83,15 +83,18 @@ jobs:
8383 test -f submission/submission.csv
8484 test -f submission/log.txt
8585 python - <<'PY'
86- import pandas as pd, numpy as np, json
87- fmt=pd.read_csv('data-demo/submission_format.csv')
88- out=pd.read_csv('submission/submission.csv')
89- assert list(out.columns)==['response_id','probability'], out.columns.tolist()
90- assert len(out)==len(fmt)
91- assert out.response_id.astype(str).tolist()==fmt.response_id.astype(str).tolist()
92- p=out.probability.to_numpy(float)
93- assert np.isfinite(p).all() and ((p>=0)&(p<=1)).all()
94- print(json.dumps({'rows':len(out),'p_min':float(p.min()),'p_max':float(p.max()),'p_mean':float(p.mean())},indent=2))
86+ import csv, json, math
87+ with open('data-demo/submission_format.csv', newline='') as f:
88+ fmt=list(csv.DictReader(f))
89+ with open('submission/submission.csv', newline='') as f:
90+ reader=csv.DictReader(f)
91+ assert reader.fieldnames==['response_id','probability'], reader.fieldnames
92+ out=list(reader)
93+ assert len(out)==len(fmt), (len(out),len(fmt))
94+ assert [str(r['response_id']) for r in out]==[str(r['response_id']) for r in fmt]
95+ p=[float(r['probability']) for r in out]
96+ assert all(math.isfinite(x) and 0.0 <= x <= 1.0 for x in p)
97+ print(json.dumps({'rows':len(out),'p_min':min(p),'p_max':max(p),'p_mean':sum(p)/len(p)},indent=2))
9598 PY
9699 cp submission/log.txt ../v143_official_log.txt
97100 cp submission/submission.csv ../v143_demo_submission.csv
0 commit comments