Skip to content

Commit 2b476d5

Browse files
committed
fix sc.to_dataframe method to handle contributivity scores as dict
Signed-off-by: arthurPignet <arthur.pignet@mines-paristech.fr>
1 parent 4bedc3f commit 2b476d5

File tree

1 file changed

+32
-15
lines changed

1 file changed

+32
-15
lines changed

mplc/scenario.py

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)