Hist adalah front-end yang ramah analis untuk boost-histogram, dirancang untuk Python 3.8+ (pengguna 3.6-3.7 mendapatkan versi yang lebih lama). Lihat apa yang baru.
Anda dapat menginstal perpustakaan ini dari PyPI dengan pip:
python3 -m pip install " hist[plot,fit] "
Jika Anda tidak memerlukan fitur plotting, Anda dapat melewati tambahan [plot]
dan/atau [fit]
. [fit]
saat ini tidak didukung di WebAssembly.
Hist saat ini menyediakan semua yang disediakan oleh boost-histogram, dan peningkatan berikut:
Hist menambah sumbu dengan nama:
name=
adalah label unik yang menjelaskan setiap sumbu.label=
adalah string opsional yang digunakan dalam pembuatan plot (default adalah name
jika tidak disediakan).NamedHist
Eksperimental adalah Hist
yang menonaktifkan sebagian besar bentuk akses posisi, memaksa pengguna untuk hanya menggunakan nama. Kelas Hist
menambah bh.Histogram
dengan konstruksi yang lebih sederhana:
flow=False
adalah cara cepat untuk mematikan aliran sumbu pada konstruksi.storage=
dapat dihilangkan, string dan penyimpanan dapat diposisikan.data=
dapat menginisialisasi histogram dengan data yang ada.Hist.from_columns
dapat digunakan untuk menginisialisasi dengan DataFrame atau dict.Hist mendukung QuickConstruct, sistem konstruksi bebas impor yang tidak memerlukan impor tambahan:
Hist.new.().().()
.Regular
) atau pendek ( Reg
).data=
) dapat disimpan.Fitur Histogram yang Diperluas:
.name
dan .label
, seperti sumbu..density()
menghitung kepadatan sebagai array..profile(remove_ax)
dapat mengubah histogram ND COUNT menjadi histogram (N-1)D MEAN..sort(axis)
mendukung pengurutan histogram berdasarkan sumbu kategorikal. Secara opsional mengambil fungsi untuk diurutkan..fill_flattened(...)
akan diratakan dan diisi, termasuk dukungan untuk AwkwardArray..integrate(...)
, yang mengambil argumen sebaliknya sebagai .project
.Hist mengimplementasikan UHI+; perluasan sistem UHI (Unified Histogram Indexing) yang dirancang untuk interaktivitas bebas impor:
j
untuk beralih ke koordinat data dalam akses atau irisan.j
pada irisan untuk rebin.Rutinitas pembuatan plot yang cepat mendorong eksplorasi:
.plot()
menyediakan plot 1D dan 2D (atau gunakan plot1d()
, plot2d()
).plot2d_full()
menampilkan proyek 1D di sekitar plot 2D..plot_ratio(...)
membuat plot rasio antara histogram dan histogram lain atau callable..plot_pull(...)
melakukan plot tarik..plot_pie()
membuat plot pai..show()
menyediakan cetakan str yang bagus menggunakan Histoprint.Tumpukan: bekerja dengan kelompok histogram dengan sumbu yang identik
h.stack(axis)
, menggunakan indeks atau nama sumbu ( StrCategory
sumbu ideal).hist.stacks.Stack(h1, h2, ...)
, atau menggunakan from_iter
atau from_dict
..plot()
dan .show()
, dengan nama (label plot default untuk info sumbu asli)..project
, *
, +
, dan -
.Modul baru
intervals
mendukung interval cakupan frequentist.Buku catatan siap: Hist memiliki representasi dalam buku catatan yang cantik.
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 )
Dari git checkout, gunakan nox, atau jalankan:
python -m pip install -e .[dev]
Lihat Memberikan pedoman untuk informasi tentang menyiapkan lingkungan pengembangan.
Kami ingin mengucapkan terima kasih kepada kontributor yang membuat proyek ini terwujud (kunci emoji):
Henry Schreiner ? | Nino Lau ? | Chris Burr | Nick Amin | Eduardo Rodrigues | Andrzej Novak | Matthew Feickert |
Kyle Cranmer | Daniel Antrim | Nicholas Smith | Michael Eliachevitch | Jonas Eschle |
Proyek ini mengikuti spesifikasi semua kontributor.
Perpustakaan ini terutama dikembangkan oleh Henry Schreiner dan Nino Lau.
Dukungan untuk pekerjaan ini diberikan oleh perjanjian kerja sama National Science Foundation OAC-1836650 (IRIS-HEP) dan OAC-1450377 (DIANA/HEP). Pendapat, temuan, kesimpulan atau rekomendasi apa pun yang diungkapkan dalam materi ini adalah milik penulis dan tidak mencerminkan pandangan National Science Foundation.