Group pandas DataFrame rows into lists
(, en)
def as_grouped_lists(df, key_col, val_col):
keys, values = df[[key_col, val_col]].sort_values(key_col).values.T
ukeys, index = np.unique(keys, True)
arrays = np.split(values, index[1:])
return {k: list(v) for k, v in zip(ukeys, arrays)}