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

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

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

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

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

Дополнительный вопрос: есть ли (разумный) способ сделать все в записной книжке ipython вместо переключения на сублиметекст?

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

3 ответа

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

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

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

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

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

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

Вы можете использовать D3 непосредственно внутри Jupyter / Ipython. Попробуйте две ссылки ниже..

http://blog.thedataincubator.com/2015/08/embedding-d3-in-an-ipython-notebook/

https://github.com/cmoscardi/embedded_d3_example/blob/master/Embedded_D3.ipynb

Plotly есть как в Python, так и в Javascript. В качестве библиотеки графиков высокого уровня, она использует d3 под капотом, а также дает вам доступ к d3.

Другие вопросы по тегам