Обложка канала

Алексей Чернобровов

Личный канал Алексея Чернобровова - консультанта в сфере Digital: Data Science, Big Data, BDSM, Digital Transformation, Artificial intelligence – и все вот эти модные слова.:) Анонсы мероприятий, вакансий, зарисовки личной жизни)

Алексей Чернобровов

3 года назад
Открыть в
👑Работаем с графами в Python с помощью NetWorkX NetWorkX — библиотека, которая предназначена для создания, изучения и манипуляции графами и иными сетевыми структурами. Данная бибилиотека является бесплатной, распространяемой по лицензии BSD. NetworkX используется для обучения теории графов, а также научных исследований и решения прикладных задач, в которых она применяется. NetWorkX имеет ряд сильных преимуществ, среди которых: Высокая производительность - NetworkX способна свободно оперировать крупными сетевыми системами, содержащими до 10 миллионов вершин и 100 миллионов ребер между ними. Это особенно полезно при анализе Big Data — например, выгрузки из социальных сетей, объединяющих миллионы пользователей. Простота использования - так как библиотека NetworkX написана на языке Python, работа с ней не составляет особого труда как для профессиональных программистов, так и для любителей. А модули визуализации графов обеспечивают наглядность полученного результата, который можно корректировать в режиме реального времени. Для того, чтобы создать полноценный граф, необходимо всего 4 строчки кода (одна из них - это просто импорт😁): import networkx as nx G=nx.Graph() G.add_edge(1,2) # # значение по умолчанию для дуги задаётся = 1 G.add_edge(2,3,weight=0.9) # # задаётся значение атрибута Эффективность - из-за того, что библиотека реализована на низкоуровневой структуре данных языка программирования Python, обеспечивается эффективное расходование аппаратных и программных ресурсов компьютера. Это увеличивает возможности по масштабированию графов, а также уменьшает зависимость от особенностей аппаратной платформы и операционной системы. Постоянная поддержка - для NetworkX разработана подробная документация, описывающая функционал и ограничения библиотеки. Репозитории постоянно обновляются. В них собраны готовые типовые решения для программистов, заметно облегчающие работу. Открытый исходный код - пользователь получает большие возможности по настройке и расширению функционала библиотеки, ее адаптации под конкретные задачи. При желании пользователь сам может разработать дополнительное ПО для работы с этой библиотекой.