将DataFrame转换为字典字典

toc*_*eto 2 python dictionary dataframe pandas

我有一个数据帧如下:

DF:

Employee Day Hours_Worked
Tom      Monday  5
John     Monday  2 
Tom      Tuesday 3 
John     Tuesday 4
Run Code Online (Sandbox Code Playgroud)

我需要将它放入字典中的字典中,以便输出如下:

print(d)

d = {'Tom':{'Monday':5, 'Tuesday':3}, 'John': {'Monday':3, 'Tuesday':4'}..}
Run Code Online (Sandbox Code Playgroud)

我尝试过df.to_dict('dict')但这并不是我想要的.

谢谢.

jpp*_*jpp 5

您可以使用词典理解GroupBy:

res = {k: v.set_index('Day')['Hours_Worked'].to_dict() for k, v in df.groupby(['Employee'])}

# {'John': {'Monday': 2, 'Tuesday': 4}, 'Tom': {'Monday': 5, 'Tuesday': 3}}
Run Code Online (Sandbox Code Playgroud)