#python #json #pandas #flask #d3.js
Вопрос:
У меня есть несколько фреймов данных pandas, которые я отправляю из flask для участия в моем проекте. Вот как выглядит одна из таблиц:
Year | Word 1 | Word 2 | Word 3
-------------------------------
1990 | 532 | 2425 | 649
1991 | 334 | 2789 | 894
1992...etc.
В принципе, у меня есть таблица, которая измеряет использование нескольких слов за последние годы в различных документах. У меня также есть несколько других таблиц, которые делают другие вещи с этими словами. Мой JSON содержит массив объектов json, каждый из которых представляет собой таблицу, которая выполняет разные действия.Вот как устроен мой json:
[
{
"Year": {
"0": 1990,
"1": 1991,
etc.
},
"Word 1": {
"0": 532,
"1": 334,
etc.
},
"Word 2": {
"0": 2425,
"1": 2789,
etc.
},
"word 3": {
"0": 649,
"1": 894,
etc.
}
},
{
"Year": {
"0": 1990,
"1": 1991,
etc.
},
"Word 1": {
"0": 11.4,
"1": 8.2,
etc.
},
"Word 2": {
"0": 79.3,
"1": 84.5,
etc.
},
"word 3": {
"0": 20.3,
"1": 24.9,
etc.
}
}
]
Очевидно, что мой JSON намного больше, в нем больше лет и больше кадров данных. Я попытался перенести это в D3, но я несколько неопытен в D3, и документация не помогла мне объяснить, почему такой JSON не может быть правильно введен в D3 и почему я не могу создавать графики для каждого из наборов данных, которые я помещаю в этот JSON. Надеюсь, кто-то, кто больше знает о JSON и о том, как D3 интерпретирует их, может помочь мне понять, почему этот формат неверен или как я мог бы построить их графики (потому что, если быть полностью честным, я не уверен даже в том, как это сделать, так как документация запутана и часто скудна). Спасибо, что нашли время помочь мне с этим.
Ответ №1:
Я интерпретирую здесь, но похоже, что D3 хочет список с одним объектом в строке, как вы получили бы из CSV-файла:
[
{
"Year": 1990,
"Word 1": 531,
"Word 2": 2425,
"Word 3": 649
},
{
"Year": 1991,
"Word 1": 334,
"Word 2": 2789,
"Word 3": 894
},
...
]