У меня есть набор данных, который выглядит следующим образом в формате CSV:
continents countries values
Europe Germany 20
Europe France 30
Europe Spain 40
Asia Singapore 100
Asia Japan 300
Asia China 30
Asia Tiwan 500
America USA 50
America Canada 35
America Brazil 30
America Equador 14
Когда я анализирую его, используя d3.csv
и map
, тогда данные выглядят так:
[
{continents: "Europe", countries: "Germany", values: 20}
{continents: "Europe", countries: "France", values: 30}
{continents: "Europe", countries: "Spain", values: 40} and so forth. ]
Что я хотел бы сделать, так это преобразовать формат в широкий по группам, чтобы данные выглядели так
[
{continents: "Europe",
values: {"Germany" : 20},
{"France" : 30},
{"Spain" : 40}},
{continents: "Asia",
values: {"Singapore" : 100},
{"Japan" : 300},
{"China" : 30}}
]
Вот как я сейчас занимаюсь.
d3.csv("/data/data.csv").then(function(csv) {
data = csv.map(function(d) {
return {
continents: d.continents,
countries: d.countries,
values: +d.values}
});
Формат не обязательно должен быть точно таким же, как в примере выше, но смысл в том, чтобы создать пары ключ: значение со страной и значениями, которые принадлежат их соответствующей группе континентов.
Может кто-нибудь дать мне знать, как сделать?