← 返回题库
初级

解析播放日志上报体

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    pl_csv = open_url("https://data.zuihe.com/dbd/ms-adlift/state_05/playback_logs.csv").read()
    logs = pd.read_csv(StringIO(pl_csv))
    print("Playback log sample (first 5):")
    for _, row in logs.head(5).iterrows():
        dur = int(row['actual_duration_sec'])
        complete = 'complete' if int(row['is_complete']) else 'incomplete'
        print("  "+row['log_id']+" "+row['screen_id']+" crv="+row['creative_id']+" dur="+str(dur)+"s "+complete)
    print("Total logs: "+str(len(logs)))
    complete_count = len(logs[logs['is_complete']==1])
    print("Complete: "+str(complete_count)+" ("+str(round(complete_count/len(logs)*100,1))+"%)")
    print("By campaign: "+str(dict(logs.groupby('campaign_id').size().head(5))))

示例

输入
solve()
期望输出
Playback log sample (first 5):
  PL-0000001 SCR-0062 crv=CRV-0001 dur=5s complete
  PL-0000002 SCR-0062 crv=CRV-0001 dur=5s complete
  PL-0000003 SCR-0062 crv=CRV-0001 dur=5s complete
  PL-0000004 SCR-0062 crv=CRV-0001 dur=5s complete
  PL-0000005 SCR-0062 crv=CRV-0001 dur=5s complete
Total logs: 4488
Complete: 4145 (92.4%)
By campaign: {'CMP-0001': np.int64(288), 'CMP-0002': np.int64(280), 'CMP-0003': np.int64(280), 'CMP-0004': np.int64(280), 'CMP-0005': np.int64(280)}
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码