У меня есть фрейм данных pandas, представляющий некоторую базовую информацию о погоде, которая выглядит так:
Чтобы отобразить его с помощью библиотеки JavaScript, такой как C3, мне нужно, чтобы каждый столбец был массивом в JSON.
{
"x": ["2013-01-01", "2013-01-02", "2013-01-03", "2013-01-04"],
"rain": [10, 5, 0, 2],
"max-temp": [35, 36, 31, 31]
}
форматирование как столбец не совсем работает
df = client.query(query).to_dataframe()
jsonstr = df.to_json(orient='columns')
Это приводит к этому
{
“location”:{
“0”:Sydney,
“1”:Sydney,
“2”:Sydney,
“3”:Sydney
},
"dDate":{
"0":2013-01-01,
"1":2013-01-02,
"2":2013-01-03,
"3":2013-01-04
},
“min-temp”:{
“0”:15,
“1”:16,
“2”:16,
“3”:16
},
…….
}
Как я могу воспроизвести желаемый JSON, где каждый столбец представляет собой просто массив значений?
to_json
поддерживает только записи и вложенные форматы dict. Чтобы получить список списков, сначала конвертируйте в словарь, используя to_dict
, а затем конвертируйте в json:
pd.io.json.dumps(df.to_dict(orient='list'))
# '{"x":["2013-01-01","2013-01-02","2013-01-03","2013-01-04"],"rain":[10,5,0,2],"max-temp":[35,36,31,31]}'
Спасибо, это именно то, что мне было нужно