import sys, pandas as pd
pd.set_option('display.width',250,'display.max_rows',500)
V2, V1 = sys.argv[1], sys.argv[2]
p=pd.read_parquet(f'{V2}/people.parquet'); e=pd.read_parquet(f'{V2}/events.parquet')
e1=pd.read_parquet(f'{V1}/events.parquet')
pm={'P-YVE-GARE':'YVE-GARE','ST-YVE':'YVE-GARE','ST-ZUG':'ZUG-GARE'}
g=e1[(e1.pid=='471c06bd')&(e1.ts>='2026-01-16')]
sig=set(zip(g.ts.dt.floor('h'),g.place_id.map(lambda x:pm.get(x,x)),g['mode']))
c=p[(p.age_band=='40-49')&(p.npa_region==14)&p.ev]
res=[]
for pid,d in e[e.pid.isin(c.pid)&(e.ts<'2026-02-07')].groupby('pid'):
s=set(zip(d.ts,d.zone,d['mode'])); res.append((len(sig&s),len(s),pid))
for r in sorted(res,reverse=True)[:5]: print(r, 'sur',len(sig))
best=sorted(res,reverse=True)[0][2]
d=e[e.pid==best]; print(p[p.pid==best]); print(d.to_string())
import sys, pandas as pd
pd.set_option('display.width',250,'display.max_rows',500)
p=pd.read_parquet(f'{sys.argv[1]}/people.parquet'); e=pd.read_parquet(f'{sys.argv[1]}/events.parquet')
G='84422f7c'
days=set(e[(e.pid==G)&(e.zone=='BER-AAREFORUM')].ts.dt.date)
r=e[(e['mode']=='reservation')&(e.zone=='BER-AAREFORUM')]
r=r.assign(d=r.ts.dt.date)
k=r[r.d.isin(days)].groupby('pid').d.nunique().sort_values(ascending=False)
print(k.head(8))
top=k.index[0]
print(p[p.pid==top]); print(e[e.pid==top].to_string())
print(r[r.pid==top].groupby('group_name').size())
print('autres resas de ce nom:', r[r.group_name.isin(r[r.pid==top].group_name)].pid.unique())
import sys, pandas as pd
pd.set_option('display.width',250,'display.max_rows',500)
p=pd.read_parquet(f'{sys.argv[1]}/people.parquet'); e=pd.read_parquet(f'{sys.argv[1]}/events.parquet')
G='84422f7c'
gd=e[(e.pid==G)&(e.zone=='BER-AAREFORUM')]
print(gd)
a=e[(e.zone=='BER-AAREFORUM')&e.ts.dt.date.isin(gd.ts.dt.date)]
print(a.merge(p,on='pid').sort_values('ts').to_string())