import pandas as pd
from datetime import datetime
def fetch_papers(query, db):
return db[db['title'].str.contains(query, case=False)]
def score_paper(paper):
score = 0
if paper['citations'] > 50: score += 3
if paper['year'] >= 2020: score += 2
if paper['journal_rank'] <= 2: score += 2
return min(10, score + paper['methodology_score'])
papers = fetch_papers('machine learning', db)
papers['score'] = papers.apply(score_paper, axis=1)
synthesis = papers.groupby('topic').agg({'score':'mean','title':'count'})
print(synthesis.to_json())