如何将带有元组键的 python 字典转换为 pandas 多索引数据框?

Meg*_*lop 2 python dictionary multi-index pandas

我有一个 python 字典,其中元组作为键,例如:

dict={('m1',17):4,('m1',12):2,('m1',1):5,('m3',11):4,('m3',17):15}
Run Code Online (Sandbox Code Playgroud)

我想将其转换为 pandas 数据框,如下所示:

m1 17 4
   12 2
   1  5
m3 11 4
   17 15
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

df1=pd.DataFrame(dict)
df2=pd.DataFrame.from_dict(dict)
df3=pd.Series(dict.values(),index=pd.MultiIndex.from_tuples(dict.keys(), names=['site','id'])
Run Code Online (Sandbox Code Playgroud)

然而,没有任何效果。(我还需要命名索引列和值列)

vah*_*ndi 7

这有效:

from pandas import DataFrame, MultiIndex

d = {('m1', 17): 4, ('m1', 12): 2, ('m1', 1): 5, ('m3', 11): 4, ('m3', 17): 15}
data = DataFrame(
    data={'column_name': list(d.values())}, 
    index=MultiIndex.from_tuples(tuples=d.keys(), names=['site', 'id'])
)
Run Code Online (Sandbox Code Playgroud)