【发布时间】:2021-12-31 05:44:00
【问题描述】:
我正在尝试输出 4 个数据表并获得下面的Expected Output?我想使用Outcomes 字典和iter 并以这样的方式对其进行格式化,这样我就可以将所有列表值放入option 1 和option 2 以及所有行值row 1, row 2...。如何修改代码中的 for 循环以获得预期输出?
代码:
import pandas as pd
def Pandas(infos, title):
display(pd.DataFrame(infos).style.set_caption(title).set_table_styles([{
'selector': 'caption',
'props': [
('color', 'red'),
('font-size', '16px'),
('text-align', 'center')
]
}]))
for id, info in Outcomes.items():
for k in info:
infos = {{f'{x}:': info[k][x]} if isinstance(info[k][x],list) else info[k][x] for x in info[k]}
Pandas(infos, k)
字典:
Outcomes = {
'Values':{
'First': {
'option 1': [12,345,5412],
'option 2': [2315,32,1],
'Additional Option': {'row 1': [232,3,1,3],
'row 2': [3,4,5,11],
'row 3': [15,6,12,34]}
},
'Second': {
'option 1': [1,4,5,6,2],
'option 2': [5,6,3,2,1],
'Additional Option': {'row 1': [-5,3,1,2],
'row 2': [4,4,12,11],
'row 3': [67,6,5,34]}
}
},
'Values 2':{
'First': {
'option 1': [12,345345,512412],
'option 2': [2315,4,3],
'Mega':{'row 1': [-45,12,33,1.3],
'row 2': [3.5,4.8,5,11]}
}
}
}
【问题讨论】:
-
您是否只需要
First用于顶层的每个键?Outcomes['Values']['Second']也应该导出为数据框吗? -
是
First先出现Second在我对预期输出犯错之后紧随其后,标题可能是Values First,Values Second,Values 2 First对于options 1 and 2的标题
标签: python pandas dataframe dictionary indexing