PyGraphistry:利用图和GPU的力量来可视化、分析和扩展您的数据#
Demo: Interactive visualization of 80,000+ Facebook friendships (source data) |
PyGraphistry 是一个开源的 Python 库,供数据科学家和开发人员利用图可视化、分析和人工智能的强大功能,包括原生 GPU 加速:
Python 原生图处理: 快速摄取和准备多种格式、形状和规模的图数据。使用如 Pandas、Spark、RAPIDS (GPU) 和 Apache Arrow 等工具。
集成: 接入 Amazon Neptune (notebook), cuGraph, Databricks (notebook), graphviz, Neo4j, Splunk (notebook), TigerGraph, 以及更多在 notebook 数据提供者演示库 中。
本地原型设计和远程部署: 使用本地CPU和GPU从Jupyter和Databricks等笔记本进行原型设计,然后使用Graphistry Hub和您自己的自托管服务器为生产仪表板和管道提供动力。
使用GFQL查询图: 使用GFQL,第一种原生数据框图查询语言,来提出对表格工具来说难以处理且不需要数据库的关系问题。
graphistry[ai]: 调用简化的图机器学习与人工智能方法,以从聚类、UMAP嵌入、图神经网络、自动特征工程等方面受益。
可视化与探索大型图: 只需几分钟,即可创建包含数百万条边的令人惊叹的交互式可视化,并具有许多点击内置功能,如下钻、时间条和过滤。准备就绪后,可以使用Python、JavaScript和REST API进行自定义。
列式与GPU加速: 由于原生使用Apache Arrow和列式分析,CPU模式的数据摄取和处理速度非常快,而可选的基于RAPIDS的GPU模式则可提供100倍以上的加速。
从全球10大银行、制造商、新闻机构和政府机构,到初创公司、游戏公司、科学家、生物技术公司和非政府组织,许多团队都在使用Graphistry处理他们的图工作负载。
画廊#
notebook demo gallery 分享了更多的实时可视化、演示和集成示例
Twitter Botnet |
Edit Wars on Wikipedia (data) |
100,000 Bitcoin Transactions |
Port Scan Attack |
Protein Interactions (data) |
Programming Languages (data) |
安装#
常见配置:
最小核心
包括:GFQL 数据帧原生图查询语言、内置布局、Graphistry 可视化服务器客户端
pip install graphistry
不包括
graphistry[ai]
, 插件无依赖和用户级别
pip install --no-deps --user graphistry
GPU加速 - 可选
本地GPU:安装RAPIDS和/或部署一个支持GPU的Graphistry服务器
远程GPU:使用远程端点。
有关更多选项,请参阅安装指南
可视化快速入门#
快速从原始数据到样式化和交互式的Graphistry图形可视化:
import graphistry
import pandas as pd
# Raw data as Pandas CPU dataframes, cuDF GPU dataframes, Spark, ...
df = pd.DataFrame({
'src': ['Alice', 'Bob', 'Carol'],
'dst': ['Bob', 'Carol', 'Alice'],
'friendship': [0.3, 0.95, 0.8]
})
# Bind
g1 = graphistry.edges(df, 'src', 'dst')
# Override styling defaults
g1_styled = g1.encode_edge_color('friendship', ['blue', 'red'], as_continuous=True)
# Connect: Free GPU accounts and self-hosting @ graphistry.com/get-started
graphistry.register(api=3, username='your_username', password='your_password')
# Upload for GPU server visualization session
g1_styled.plot()
探索10 Minutes to Graphistry Visualization以获取更多可视化示例和选项
PyGraphistry[AI] 和 GFQL 快速入门 - CPU 和 GPU#
CPU 图形管道 结合了图形机器学习、人工智能、数据挖掘和可视化:
from graphistry import n, e, e_forward, e_reverse
# Graph analytics
g2 = g1.compute_igraph('pagerank')
assert 'pagerank' in g2._nodes.columns
# Graph ML/AI
g3 = g2.umap()
assert ('x' in g3._nodes.columns) and ('y' in g3._nodes.columns)
# Graph querying with GFQL
g4 = g3.chain([
n(query='pagerank > 0.1'), e_forward(), n(query='pagerank > 0.1')
])
assert (g4._nodes.pagerank > 0.1).all()
# Upload for GPU server visualization session
g4.plot()
自动GPU模式几乎不需要代码更改:
import cudf
from graphistry import n, e, e_forward, e_reverse
# Modified -- Rebind data as a GPU dataframe and swap in a GPU plugin call
g1_gpu = g1.edges(cudf.from_pandas(df))
g2 = g1_gpu.compute_cugraph('pagerank')
# Unmodified -- Automatic GPU mode for all ML, AI, GFQL queries, & visualization APIs
g3 = g2.umap()
g4 = g3.chain([
n(query='pagerank > 0.1'), e_forward(), n(query='pagerank > 0.1')
])
g4.plot()
探索10 Minutes to PyGraphistry以了解更多种类的图处理。
PyGraphistry 文档#
10分钟了解:PyGraphistry, 可视化, GFQL
API 参考
Plugins: Databricks, Splunk, Neptune, Neo4j, RAPIDS, 以及更多
网页: iframe, JavaScript, REST
Graphistry生态系统#
Graphistry 服务器:
Graphistry 客户端 API:
其他项目:
Louie.ai: 面向生成式AI的笔记本和仪表板,用于与您的数据库和Graphistry进行交互
graph-app-kit: 使用内置图形包的Streamlit Python仪表板
cu-cat: 自动GPU特征工程
社区和支持#
Blog 提供教程、案例研究和更新
Slack: 加入Graphistry社区Slack,参与讨论和获取支持
GitHub Issues 开源支持
Graphistry ZenDesk 专用企业支持
贡献#
请参阅CONTRIBUTING和DEVELOP以参与PyGraphistry的开发,或联系我们的团队