Hist は、Python 3.8 以降 (3.6 ~ 3.7 ユーザーは古いバージョンを入手します) 向けに設計されたブースト ヒストグラム用のアナリストに使いやすいフロントエンドです。新機能をご覧ください。
このライブラリは、pip を使用して PyPI からインストールできます。
python3 -m pip install " hist[plot,fit] "
プロット機能が必要ない場合は、 [plot]
および/または[fit]
追加機能をスキップできます。 [fit]
現在 WebAssembly ではサポートされていません。
Hist は現在、boost-histogram が提供するすべての機能と、次の機能強化を提供します。
Hist は軸に名前を追加します。
name=
各軸を説明する一意のラベルです。label=
プロットに使用されるオプションの文字列です (指定しない場合、デフォルトはname
です)。NamedHist
は、ほとんどの形式の位置アクセスを無効にし、ユーザーに名前のみを使用させるHist
です。 Hist
クラスは、より単純な構造でbh.Histogram
拡張します。
flow=False
構築時に軸のフローをオフにする簡単な方法です。storage=
省略でき、文字列とストレージは位置指定できます。data=
既存のデータでヒストグラムを初期化できます。Hist.from_columns
使用して、DataFrame または dict で初期化できます。追加のインポートを必要としないインポート不要の構築システムである QuickConstruct をサポートしています。
Hist.new.().().()
を使用します。Regular
) または短縮名 ( Reg
) にすることができます。data=
など) はストレージに保存できます。拡張ヒストグラム機能:
.name
と.label
を直接サポートします。.density()
密度を配列として計算します。.profile(remove_ax)
ND COUNT ヒストグラムを (N-1)D MEAN ヒストグラムに変換できます。.sort(axis)
カテゴリ軸によるヒストグラムの並べ替えをサポートします。オプションで、並べ替えに使用する関数を受け取ります。.fill_flattened(...)
AwkwardArray のサポートを含めて、平坦化して塗りつぶします。.integrate(...)
、 .project
と反対の引数を受け取ります。Hist は UHI+ を実装します。インポート不要の対話型のために設計された UHI (Unified Histogram Indexing) システムの拡張機能:
j
サフィックスを使用して、アクセスまたはスライスのデータ座標に切り替えます。j
サフィックスを使用して再ビンします。簡単なプロット ルーチンにより探索が促進されます。
.plot()
1D および 2D プロットを提供します (または、 plot1d()
、 plot2d()
を使用します)。.plot2d_full()
、2D プロットの周囲に 1D プロジェクトを表示します。.plot_ratio(...)
ヒストグラムと別のヒストグラムまたは呼び出し可能なヒストグラムの間の比率プロットを作成します。.plot_pull(...)
プル プロットを実行します。.plot_pie()
円グラフを作成します。.show()
Histoprint を使用して優れた str 出力を提供します。スタック: 同一の軸を持つヒストグラムのグループを操作します。
h.stack(axis)
で作成できます ( StrCategory
軸が理想的です)。hist.stacks.Stack(h1, h2, ...)
を使用して作成するか、 from_iter
またはfrom_dict
を使用することもできます。.plot()
および.show()
をサポートします (プロット ラベルのデフォルトは元の軸情報です)。.project
、 *
、 +
、および-
を通過します。新しいモジュール
intervals
頻度主義的なカバレッジ間隔をサポートします。ノートブック対応: Hist にはノートブック内での素晴らしい表現が備わっています。
from hist import Hist
# Quick construction, no other imports needed:
h = (
Hist . new . Reg ( 10 , 0 , 1 , name = "x" , label = "x-axis" )
. Var ( range ( 10 ), name = "y" , label = "y-axis" )
. Int64 ()
)
# Filling by names is allowed:
h . fill ( y = [ 1 , 4 , 6 ], x = [ 3 , 5 , 2 ])
# Names can be used to manipulate the histogram:
h . project ( "x" )
h [{ "y" : 0.5j + 3 , "x" : 5j }]
# You can access data coordinates or rebin with a `j` suffix:
h [ 0.3j :, :: 2j ] # x from .3 to the end, y is rebinned by 2
# Elegant plotting functions:
h . plot ()
h . plot2d_full ()
h . plot_pull ( Callable )
git チェックアウトから、nox を使用するか、次を実行します。
python -m pip install -e .[dev]
開発環境のセットアップについては、「貢献ガイドライン」を参照してください。
このプロジェクトを可能にした貢献者に感謝の意を表します (絵文字キー):
ヘンリー・シュライナー ? | ニノ・ラウ ? | クリス・バー | ニック・アミン | エドゥアルド・ロドリゲス | アンジェイ・ノバク | マシュー・フェイカート |
カイル・クランマー | ダニエル・アントリム | ニコラス・スミス | マイケル・エリアチェヴィッチ | ジョナス・エシュル |
このプロジェクトは、全員参加者の仕様に従っています。
このライブラリは主に Henry Schreiner と Nino Lau によって開発されました。
この研究に対する支援は、国立科学財団協力協定 OAC-1836650 (IRIS-HEP) および OAC-1450377 (DIANA/HEP) によって提供されました。この資料に記載されている意見、調査結果、結論、または推奨事項は著者のものであり、必ずしも米国科学財団の見解を反映しているわけではありません。