@@ -537,22 +537,39 @@ def to_dataframe(self):
537537 df = df .append (dict_results , ignore_index = True )
538538
539539 for contrib in self .contributivity_list :
540-
541540 # Contributivity data
542- dict_results ["contributivity_method" ] = contrib .name
543- dict_results ["contributivity_scores" ] = contrib .contributivity_scores
544- dict_results ["contributivity_stds" ] = contrib .scores_std
545- dict_results ["computation_time_sec" ] = contrib .computation_time_sec
546- dict_results ["first_characteristic_calls_count" ] = contrib .first_charac_fct_calls_count
547-
548- for i in range (self .partners_count ):
549- # Partner-specific data
550- dict_results ["partner_id" ] = i
551- dict_results ["dataset_fraction_of_partner" ] = self .amounts_per_partner [i ]
552- dict_results ["contributivity_score" ] = contrib .contributivity_scores [i ]
553- dict_results ["contributivity_std" ] = contrib .scores_std [i ]
554-
555- df = df .append (dict_results , ignore_index = True )
541+ if isinstance (contrib .contributivity_scores , dict ):
542+ for key , value in contrib .contributivity_scores .items ():
543+ dict_results ["contributivity_method" ] = f'{ contrib .name } - { key } '
544+ dict_results ["contributivity_scores" ] = value
545+ dict_results ["contributivity_stds" ] = contrib .scores_std [key ]
546+ dict_results ["computation_time_sec" ] = contrib .computation_time_sec
547+ dict_results ["first_characteristic_calls_count" ] = contrib .first_charac_fct_calls_count
548+
549+ for i in range (self .partners_count ):
550+ # Partner-specific data
551+ dict_results ["partner_id" ] = i
552+ dict_results ["dataset_fraction_of_partner" ] = self .amounts_per_partner [i ]
553+ dict_results ["contributivity_score" ] = value [i ]
554+ dict_results ["contributivity_std" ] = contrib .scores_std [key ][i ]
555+
556+ df = df .append (dict_results , ignore_index = True )
557+
558+ else :
559+ dict_results ["contributivity_method" ] = contrib .name
560+ dict_results ["contributivity_scores" ] = contrib .contributivity_scores
561+ dict_results ["contributivity_stds" ] = contrib .scores_std
562+ dict_results ["computation_time_sec" ] = contrib .computation_time_sec
563+ dict_results ["first_characteristic_calls_count" ] = contrib .first_charac_fct_calls_count
564+
565+ for i in range (self .partners_count ):
566+ # Partner-specific data
567+ dict_results ["partner_id" ] = i
568+ dict_results ["dataset_fraction_of_partner" ] = self .amounts_per_partner [i ]
569+ dict_results ["contributivity_score" ] = contrib .contributivity_scores [i ]
570+ dict_results ["contributivity_std" ] = contrib .scores_std [i ]
571+
572+ df = df .append (dict_results , ignore_index = True )
556573
557574 return df
558575
0 commit comments