在这里 我想将数据框转换为列表的字典。
这是我的数据框
day session sales
0 Friday Early Morning 11105.50
1 Friday Evening 8168.00
2 Friday Late Night 1450.00
3 Friday Morning 14802.00
4 Friday Night 2925.00
5 Friday Noon 10276.25
6 Monday Early Morning 9553.75
7 Monday Evening 11431.00
这就是我希望每天和每次会议都像这样
monday = {
"name": "Monday",
"data": [
{
"x": "Morning",
"y": 18014.00
},
{
"x": 'Night',
"y": 2353.50
},
}
]
}
谢谢
答案 0 :(得分:2)
我建议create dictionary整天key
s进行选择:
df = df.rename(columns={'session':'x', 'sales':'y'})
df1 = df.groupby('day')['x','y'].apply(lambda x: x.to_dict('r')).reset_index(name='data')
print (df1)
day data
0 Friday [{'x': 'Early Morning', 'y': 11105.5}, {'x': '...
1 Monday [{'x': 'Early Morning', 'y': 9553.75}, {'x': '...
d = {k:v.to_dict('r') for k, v in df1.groupby('day')}
#print (d)
print (d['Monday'])
[{'day': 'Monday', 'data': [{'x': 'Early Morning', 'y': 9553.75},
{'x': 'Evening', 'y': 11431.0}]}]