In [ ]:
import pandas as pd
from IPython.display import display

pd.set_option('display.max_columns', 100)

inf = pd.read_csv("/firecares/FireCares_Dept_List.csv").dropna(axis='columns', how='all')
#inf = pd.read_csv("/firecares/firecares/firestation/tests/mock/local_numbers.csv").dropna(axis='columns', how='all')

In [ ]:
inf.groupby(['fdid', 'State_Code']).count()

In [ ]:
inf[(inf['IAFF_local'] == '4416')]

In [ ]:
inf[inf['firecares_id'].isnull()]

In [ ]:
inf[['fdid', 'State_Code', 'firecares_id', 'IAFF_local']].to_csv('/tmp/locals.csv')

In [ ]:
groups = inf[['fdid', 'State_Code', 'firecares_id', 'IAFF_local']].groupby(['fdid', 'State_Code'])
keys = map(lambda x: x[0], groups)
ret = []

for k in keys:
    g = groups.get_group(name=k)
    fc_id = g[g['firecares_id'].notnull()]['firecares_id'].values
    if fc_id.any():
        print 'IMPORTING: {} with local numbers: {}'.format(fc_id[0], ','.join(map(str, g['IAFF_local'].values)))
        ret.append({'fc_id': fc_id[0], 'locals': ','.join(map(str, g['IAFF_local'].values))})
    else:
        rec = inf.loc[g.index[0],:]
        print 'SKIPPING {},{}:\n{}'.format(rec['fdid'], rec['State_Code'], rec)

In [ ]:
ret