Big Tree Python パッケージ
Python向けのツリー実装とメソッドで、リスト、辞書、pandasおよびpolarsのDataFrameと統合されています。
Pythonらしく、学習しやすく多様なワークフローに拡張可能です。
----
関連リンク:
/ Discussions / Changelog / Contributing- パッケージ
- PyPI
コンポーネント
Big Treeは、ツリー、二分木、そして有向非巡回グラフ(DAG)の3つのセグメントで構成されています。ツリー実装には、12の主要コンポーネントがあります。
- 🌺 ノード
- `
BaseNode, 拡張可能なクラス Node, ノード名属性を持つBaseNode- 🎄 ツリー
Tree,Nodeをラップし、ツリー全体の構築、反復、クエリ、エクスポートのための高レベルAPIを提供- ✨ ツリーの構築
- Node
から、親子コンストラクタを使用 - strから、ツリー表示やNewick文字列表記を使用
- listから、パスや親子タプルを使用
- ネストされた辞書 から、パス属性のキー・バリューのペアまたは再帰的構造を使用して
- pandas DataFrame から、パスまたは親子カラムを使用して
- polars DataFrame から、パスまたは親子カラムを使用して
- インタラクティブUI から
- パス文字列を使用して既存のツリーにノードを追加
- パスを使用して 辞書、pandas DataFrame、または polars DataFrame から既存のツリーにノードと属性を追加
- ノード名を使用して 辞書、pandas DataFrame、または polars DataFrame から既存のツリーに属性のみを追加
- ➰ ツリーの走査
- 前順走査
- 後順走査
- レベル順走査
- レベル順グループ走査
- ジグザグ走査
- ジグザググループ走査
- 🧩 ツリーの解析
- ノード間の共通祖先を取得
- あるノードから別のノードへのパスを取得
- 📝 ツリーの変更
- ノードをある場所から別の場所へコピー
- ノードをある場所から別の場所へ移動
- ノードをある場所から別の場所へ移動して置換
- ノードをあるツリーから別のツリーへコピー
- ノードをあるツリーから別のツリーへコピーして置換
- 📌 ツリーのクエリ
- Tree Query Language を使用してツリーをフィルタリング
- 🔍 ツリー検索
- 名前、部分パス、相対パス、属性値、ユーザー定義条件に基づいて複数ノードを検索
- 名前、部分パス、相対パス、完全パス、属性値、ユーザー定義条件に基づいて単一ノードを検索
- ユーザー定義条件に基づいて複数の子ノードを検索
- 名前、ユーザー定義条件に基づいて単一の子ノードを検索
- 🔧 ヘルパー関数
- 別の Node
タイプへのツリーのクローン作成 - 部分ツリーを取得(異なるルートの小さいツリー)
- ツリーを剪定(同じルートの小さいツリー)
- 2つのツリーの差分を取得
- 📊 ツリーの描画
- 拡張Reingold-Tilfordアルゴリズムによるツリー構造の (x, y) 座標取得
- matplotlib(オプション依存)を使用したツリーの描画
- 🔨 ツリーのエクスポート
- 縦方向または横方向の向きでコンソールに出力
- Newick文字列表記、辞書、ネスト辞書、pandas DataFrame、またはpolars DataFrameへのエクスポート
- ツリーをdotへエクスポート(.dot、.png、.svg、.jpegファイルに保存可能)
- ツリーをPillowへエクスポート(.png、.jpgに保存可能)
- ツリーをMermaidフローチャートへエクスポート(.md上で表示可能)
- ツリーをPyvisネットワークへエクスポート(インタラクティブな.htmlで表示可能)
- ✔️ ワークフロー
- ツリーのデモ用サンプルワークフロー!
二分木(Binary Tree)の実装には4つの主要なコンポーネントがあります。 Binary NodeはNodeを継承しているため、Tree実装のコンポーネントもBinary Treeで利用可能です。
- 🌿 ノード
BinaryNode、二分木のルールを持つノード- 🎄 二分木
BinaryTree、BinaryNodeをラップし、高レベルのAPIでツリー全体の構築、反復、問い合わせ、エクスポートを提供- ✨ 二分木の構築
- リストから、平坦化されたリスト構造を使用
- ➰ 二分木の走査
- 中間順走査
有向非巡回グラフ(DAG)の実装には6つの主要なコンポーネントがあります。
- 🌼 ノード
DAGNode、有向非巡回グラフ(DAG)構築用の拡張可能なクラス- 🎄 DAG
DAG、DAGNodeをラップし、高レベルのAPIでDAG全体の構築、エクスポート、反復を提供- ✨ DAGの構築
- リストから、親子のタプルを含む
- ネスト辞書から
- pandas DataFrameから
- ➰ DAGの走査
- 汎用的な走査メソッド
- 🧩 DAGの解析
- あるノードから別のノードへの可能な経路を取得
- 🔨 DAGのエクスポート
- リスト、辞書、またはpandas DataFrameへエクスポート
- DAGをdot形式でエクスポート(.dot、.png、.svg、.jpegファイルに保存可能)
インストール
bigtreeはPython 3.10以上が必要です。bigtreeのインストール方法は、pip(推奨)かcondaの2つがあります。
a) pipでのインストール
#### 基本インストール
bigtreeをインストールするには、コマンドプロンプトで以下の行を実行してください:
$ pip install bigtree#### オプション依存関係のインストール
bigtree にはいくつかのオプション依存関係があり、「extras」構文を使ってインストールできます。
$ pip install 'bigtree[extra_1, extra_2]'
追加パッケージの例は以下の通りです:- all
: すべてのオプション依存関係を含む - image
: ツリーを画像にエクスポートするため - matplotlib
: ツリーをプロットするため - pandas
: pandas メソッド用 - polars
: polars メソッド用 - query
: ツリークエリメソッド用 - vis
: pyvis ビジュアライゼーション用
追加依存関係の場合、さらにプラグインをインストールする必要があります。$ brew install gprof2dot # for MacOS
$ conda install graphviz # for Windows
b) condaによるインストール
bigtree`をcondaでインストールするには、コマンドプロンプトで次の行を実行してください:$ conda install -c conda-forge bigtree-----
Star History
--- Tranlated By Open Ai Tx | Last indexed: 2025-12-16 ---