mesa-GA/GA_Agent_0925/risk_firm_count.py

24 lines
687 B
Python

from sqlalchemy import text
import pandas as pd
from orm import connection
# SQL query
with open("../SQL_analysis_risk.sql", "r", encoding="utf-8") as f:
str_sql = text(f.read())
result = pd.read_sql(sql=str_sql, con=connection)
# Count firm product
count_firm_prod = result.value_counts(subset=['id_firm', 'id_product'])
count_firm_prod.name = 'count'
count_firm_prod = count_firm_prod.to_frame().reset_index()
# Count product
count_prod = count_firm_prod.groupby('id_product')['count'].sum()
count_prod = count_prod.to_frame().reset_index()
count_prod.sort_values('count', inplace=True, ascending=False)
print(count_prod)
top100 = count_prod.head(100)['id_product'].tolist()