У меня есть следующие два словаря:
stats_dict = {
"PO1": {
"congruent": {
"mean": 0.6205138,
"stdev": 0.07207165926839758,
"true_percentage": 0.8333333333333334
},
"incongruent": {
"mean": 0.6205138,
"stdev": 0.07207165926839758,
"true_percentage": 0.8333333333333334
}
},
"PO2": {
"congruent": {
"mean": 0.6205138,
"stdev": 0.07207165926839758,
"true_percentage": 0.8333333333333334
},
"incongruent": {
"mean": 0.6205138,
"stdev": 0.07207165926839758,
"true_percentage": 0.8333333333333334
}
},
"PO3": {
"congruent": {
"mean": 0.6205138,
"stdev": 0.07207165926839758,
"true_percentage": 0.8333333333333334
},
"incongruent": {
"mean": 0.6205138,
"stdev": 0.07207165926839758,
"true_percentage": 0.8333333333333334
}
}
}
group_stats_dict = {
"congruent": {
"mean": 0.68699328,
"stddev": 0.98465454,
"pecentage_correct": 0.98
},
"incongruent": {
"mean": 0.78699328,
"stddev": 0.99465454,
"pecentage_correct": 0.98
}
}
Что я хочу сделать, это распечатать результаты, отформатированные в таблице в консоли.
У меня есть следующий код, так far:
stats_dict = {}
group_stats_dict = {}
print (" CONGRUENT INCONGRUENT")
print ("PARTICIPANT MEAN STDDEV %CORRECT MEAN STDDEV % CORRECT")
for d in stats_dict.keys():
print(d)
for m in stats_dict[k]:
print(m)
Я бы хотел, чтобы вывод в консоли выглядел следующим образом (где group - это напечатанный словарь group_stats.):
CONGRUENT INCONGRUENT
PARTICIPANT MEAN STDDEV % CORRECT MEAN STDDEV % CORRECT
P01 0.620 0.072 0.83 0.620 0.072 0.83
P02 0.620 0.072 0.83 0.620 0.072 0.83
GROUP 0.686 0.984 0.98 0.786 0.994 0.98
У меня проблемы с получением данных чтобы быть помещенным под правильными заголовками, мой вывод в настоящее время таков:
CONGRUENT INCONGRUENT
PARTICIPANT MEAN STDDEV %CORRECT MEAN STDDEV % CORRECT
P01
congruent
incongruent
P02
congruent
incongruent
P03
congruent
incongruent
P04
congruent
incongruent
P05
Вся помощь очень ценится. Дайте мне знать, если у вас есть какие-либо вопросы или что-то нужно добавить к моему вопросу.
Могу ли я отформатировать данные в 3 знака после запятой, например, как это?
for participant,value in stats_dict.items():
print(
participant,
value.get("congruent","{:.3f}").get("mean"),
value.get("congruent","{:.3f}").get("stdev"),
value.get("congruent",{}).get("percentage_correct"),
value.get("incongruent",{}).get("mean"),
value.get("incongruent",{}).get("stdev"),
value.get("incongruent",{}).get("percentage_correct")
)