← 返回题库
初级

解析投放计划JSON

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    cmp_csv = open_url("https://data.zuihe.com/dbd/ms-adlift/state_04/campaigns.csv").read()
    campaigns = pd.read_csv(StringIO(cmp_csv))
    print("Campaign list (first 5):")
    for _, row in campaigns.head(5).iterrows():
        print("  "+row['campaign_id']+" adv="+row['advertiser_id']+" model="+row['billing_model']+" budget="+str(row['total_budget'])+" status="+row['status'])
    print("By model: "+str(dict(campaigns.groupby('billing_model').size())))
    print("By status: "+str(dict(campaigns.groupby('status').size())))
    active = campaigns[campaigns['status']=='active']
    print("Active campaigns: "+str(len(active))+" total_budget="+str(round(active['total_budget'].sum(),2)))

示例

输入
solve()
期望输出
Campaign list (first 5):
  CMP-0001 adv=ADV-001 model=CPM budget=10903.25 status=active
  CMP-0002 adv=ADV-002 model=CPT budget=97723.82 status=draft
  CMP-0003 adv=ADV-003 model=CPT budget=39739.11 status=active
  CMP-0004 adv=ADV-004 model=CPM budget=85241.04 status=paused
  CMP-0005 adv=ADV-005 model=CPT budget=46796.27 status=active
By model: {'CPD': np.int64(11), 'CPM': np.int64(14), 'CPT': np.int64(15)}
By status: {'active': np.int64(21), 'completed': np.int64(6), 'draft': np.int64(5), 'paused': np.int64(8)}
Active campaigns: 21 total_budget=838451.61
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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