Конвертируйте pandas dataframe в настроенный json - PullRequest
1 голос
/ 08 мая 2019

У меня есть датафрейм со следующей структурой:

import pandas
df = pandas.DataFrame({
     "date" : ["day_1","day_1","day_2","day_3","day_4"],
     "block" : ["1", "2", "1", "1", "1"],
     "start_time" : ["08:00","11:00","08:00","09:00", "09:00"],
     "end_time" :["10:00","15:00","10:00","11:00", "13:00"]
})

Как мне преобразовать это в JSON со следующей структурой:

 [
 {
  "day_1":[
     {
        "1":{
           "start_time":"08:00:00",
           "end_time":"10:00:00"
        },
        "2":{
           "start_time":"11:00:00",
           "end_time":"15:00:00"
        }
     }
  ],
  "day_2":{
     "1":{
        "start_time":"2019-04-29 08:00:00",
        "end_time":"2019-04-29 10:00:00"
     }
  }
 }
 ]

Все значения блоков day_n должны быть записаны под day_n в json.

1 Ответ

1 голос
/ 08 мая 2019

Я думаю, что этот бит кода даст желаемый результат:

import json
init_dict = {date: {} for date in df['date'].unique()}
for ii in init_dict.keys():
    for jj in df.loc[df['date']==ii, 'block']:
        init_dict[ii][jj] = {'start_time': df.loc[(df['date']==ii) & (df['block']==jj), 'start_time'].values[0], 'end_time': df.loc[(df['date']==ii) & (df['block']==jj), 'end_time'].values[0]}

json_out = json.dumps(init_dict)

Дайте мне знать, если это было то, что вы хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...