import pandas as pd items = pd.read_csv('items.csv') singup = pd.read_csv('signup.csv') df = pd.merge(items,singup,on='item_id',how='left') print( pd.pivot_table( df, index=["sex", "department"], columns=["item_name"], values=["employee_id"], aggfunc="count", fill_value=0, ) )