我有这样的字典:
{'a': {'col_1': [1, 2], 'col_2': ['a', 'b']},
'b': {'col_1': [3, 4], 'col_2': ['c', 'd']}}
当我尝试将其转换为数据框时,请获取以下内容:
col_1 col_2
a [1, 2] [a, b]
b [3, 4] [c, d]
但是我需要的是:
col_1 col_2
a 1 a
2 b
b 3 c
4 d
如何获取此格式。也许我也应该更改输入格式? 感谢您的帮助=)
答案 0 :(得分:1)
您可以使用pd.DataFrame.from_dict
设置orient='index'
,以便将字典键设置为数据框的索引,然后通过应用pd.Series.explode
爆炸所有列:
pd.DataFrame.from_dict(d, orient='index').apply(pd.Series.explode)
col_1 col_2
a 1 a
a 2 b
b 3 c
b 4 d
答案 1 :(得分:0)
您可以运行generator comprehension并应用大熊猫concat ...理解对字典的值起作用,字典本身就是字典:
pd.concat(pd.DataFrame(entry).assign(key=key) for key,entry in data.items()).set_index('key')
col_1 col_2
key
a 1 a
a 2 b
b 3 c
b 4 d