Skip to content Skip to sidebar Skip to footer

How To Create A Dict/object/mapping In An Aggregation Field

I have the following groupedby object in pandas: df_grouped = df.groupby(by=['resolution','media_type', 'asset_type']).file_name print (type(df_grouped)) #

Solution 1:

You can first omit file_name after groupby, because need processing also md5 column. Then use lambda function for convert columns to dictionaries per groups, output is Series:

df_grouped = df.groupby(by=['resolution','media_type', 'asset_type'])

series = df_grouped.apply(lambda x: dict(zip(x['file_name'],x['md5'])))

Or:

series = df_grouped.apply(lambda x: dict(x[['file_name','md5']].to_numpy()))

Sample:

print (df)
  resolution media_type asset_type             file_name  md5
0         HD      Video    Feature  LG_ALPHAASP_EN__L102    1
1         HD      Video      Promo        Alphap_2ch.mov    2
2         HD      Video    Trailer            LG_ALPHAX9    3
3         HD      Video    Trailer      LG_ALPHAX9_178_2    4



df_grouped = df.groupby(by=['resolution','media_type', 'asset_type'])
    
series = df_grouped.apply(lambda x: dict(x[['file_name','md5']].to_numpy()))
print (series)
resolution  media_type  asset_type
HD          Video       Feature                    {'LG_ALPHAASP_EN__L102': 1}
                        Promo                            {'Alphap_2ch.mov': 2}
                        Trailer       {'LG_ALPHAX9': 3, 'LG_ALPHAX9_178_2': 4}
dtype: object

Post a Comment for "How To Create A Dict/object/mapping In An Aggregation Field"