Home > Software engineering >  Extracting a mapping from a pandas dataframe
Extracting a mapping from a pandas dataframe

Time:10-20

I have a dataframe with two columns labelId and type. There are many entries with the same labelId, but given a labelId its type is unique. I want to extract this mapping from labelId to type as a dict. What is the best way to do this?

For the dataframe below:

Values labelId Type
1 First high
5 First high
2 Second low

The expected dict is {'First': 'high', 'Second': 'low'}.

CodePudding user response:

here is one way to do it, drop the duplicates on labelId and type, then choose same columns and extract as dict

dict(df.drop_duplicates(subset=['labelId','Type'])[['labelId','Type']].values)

OR as Abhilash improved on it

dict(df[['labelId','Type']].drop_duplicates().values)
{'First ': 'high', 'Second ': 'low'}
  • Related