Как перенести мой фреймворк pandas на d3?

Я новичок в Python и проработал несколько книг. Все отлично, кроме визуализации. Мне очень не нравится matplotlib, и Bokeh требует слишком большой стека.

Рабочий процесс, который я хочу:

Анализ сбора данных с использованием pandas в ноутбуке ipython → визуализация с использованием d3 в sublimetext2

Однако, будучи новым как для Python, так и для d3, я не знаю, как лучше всего экспортировать DataFrame pandas в d3. Должен ли я просто использовать это как CSV? JSON? Или есть более прямой способ?

Боковой вопрос: есть ли (разумный) способ сделать все в записной книжке ipython вместо перехода на sublimetext?

Любая помощь будет оценена.

Ответ 1

В принципе нет лучшего формата, который бы соответствовал всем вашим потребностям визуализации.

Это действительно зависит от визуализации, которую вы хотите получить.

Например, Stacked Bar Chart принимает в качестве входного CSV файла и видоизменение матрицы смежности принимает формат JSON.

Из моего опыта:

  • для отображения отношений между элементами, например матрица смежности или диаграмма аккордов, предпочтет формат JSON, который позволит описывать только существующие отношения. Данные хранятся как в разреженной матрице, а несколько данных могут быть вложены с помощью словаря. Более того, этот формат может быть непосредственно разобран в Python.
  • для отображения свойств массива элементов, формат CSV может быть точным. Прекрасный пример можно найти здесь с отображением параллельной диаграммы.
  • для отображения иерархических данных, таких как дерево, лучше всего подходит JSON.

Лучшее, что нужно сделать, чтобы помочь вам разобраться, какой лучший формат вам нужен, - это посмотреть галерею d3js