python pandas convert dataframe to dictionary with multiple values
Question: I have a dataframe with 2 columns Address and ID. I want to merge IDs with the
same addresses in a dictionary

    
    
    import pandas as pd, numpy as np
    
    df = pd.DataFrame({'Address' : ['12 A', '66 C', '10 B', '10 B', '12 A', '12 A'],
                    'ID' : ['Aa', 'Bb', 'Cc', 'Dd', 'Ee', 'Ff']})
    AS=df.set_index('Address')['ID'].to_dict()
    
    print df
    
      Address  ID
    0    12 A  Aa
    1    66 C  Bb
    2    10 B  Cc
    3    10 B  Dd
    4    12 A  Ee
    5    12 A  Ff
    
    print AS
    
    {'66 C': 'Bb', '12 A': 'Ff', '10 B': 'Dd'}
    

What I want is for the duplicates to store multiple values like:

    
    
    {'66 C': ['Bb'], '12 A': ['Aa','Ee','Ff'], '10 B': ['Cc','Dd']}
    


Answer: I think you can use `groupby` and a dictionary comprehension here:

    
    
    >>> df
      Address  ID
    0    12 A  Aa
    1    66 C  Bb
    2    10 B  Cc
    3    10 B  Dd
    4    12 A  Ee
    5    12 A  Ff
    >>> {k: list(v) for k,v in df.groupby("Address")["ID"]}
    {'66 C': ['Bb'], '12 A': ['Aa', 'Ee', 'Ff'], '10 B': ['Cc', 'Dd']}
    

