我要转换以下字典:
links = { "a": ["aa", "ab", "ac"], "b": ["ba", "bb", "bc", "bd"] }
到像这样的Pandas数据框:
col_a col_b
a aa
a ab
a ac
b ba
b bb
b bc
b bd
与有关Pandas示例的经典词典有些不同。有什么想法吗?
答案 0 :(得分:2)
在熊猫0.25.0中
pd.Series(links).explode().reset_index()
答案 1 :(得分:1)
使用列表推导创建(col_a, col_b)
元组的列表,然后使用DataFrame.from_records()
:
records = [(k, i) for k, v in links.items() for i in v]
df = pd.DataFrame.from_records(records, columns=["col_a", "col_b"])
答案 2 :(得分:0)
您可以使用列表理解和本机python运算符进行以下操作:
matIconRegistry
答案 3 :(得分:0)
您可以先使用from_dict创建df,然后将其转置并重新排列并重命名:
(
pd.DataFrame.from_dict(links, orient='index')
.T.stack()
.reset_index(level=0, drop=True)
.sort_index()
.reset_index()
.set_axis(['col_a','col_b'], 1, inplace=False)
)
col_a col_b
0 a aa
1 a ab
2 a ac
3 b ba
4 b bb
5 b bc
6 b bd