【问题标题】:Convert pandas df to dict of list将 pandas df 转换为列表的字典
【发布时间】:2019-12-31 09:43:21
【问题描述】:

这里 我想将数据框转换为列表的字典。

这是我的数据框

    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
            }, 

            }
        ]
}

谢谢

【问题讨论】:

标签: python json pandas list dictionary


【解决方案1】:

我建议create dictionary 整天都可以通过keys 选择:

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}]}]

【讨论】:

  • 你是救世主@jezrael!
猜你喜欢
  • 2022-01-19
  • 2021-06-09
  • 1970-01-01
  • 2021-04-27
  • 2020-09-11
  • 2016-09-17
  • 1970-01-01
  • 2014-01-05
相关资源
最近更新 更多