【发布时间】:2020-03-06 10:09:36
【问题描述】:
我有以下两个字典:
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
}
}
我要做的是在控制台中以表格格式打印结果。
到目前为止,我有以下代码:
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")
)
【问题讨论】:
-
尝试python的textwrap来填充空格docs.python.org/3/library/textwrap.html#textwrap.fill
标签: python dictionary printing