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 instal "hist[plot,sesuai]"
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).
Pengindeksan, proyeksi, dan dukungan lainnya bernama sumbu.
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.
Penyimpanan dapat diberikan melalui string.
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.
Anda dapat melakukan transmisi bolak-balik dengan boost-histogram (atau ekstensi lainnya).
Hist mendukung QuickConstruct, sistem konstruksi bebas impor yang tidak memerlukan impor tambahan:
Gunakan Hist.new.<axis>().<axis>().<storage>()
.
Nama sumbu bisa lengkap ( Regular
) atau pendek ( Reg
).
Argumen histogram (seperti data=
) dapat disimpan.
Fitur Histogram yang Diperluas:
Dukungan langsung untuk .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:
Menggunakan akhiran j
untuk beralih ke koordinat data dalam akses atau irisan.
Menggunakan akhiran j
pada irisan untuk rebin.
String dapat digunakan secara langsung untuk mengindeks ke dalam sumbu kategori string.
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
Tumpukan dapat dibuat dengan h.stack(axis)
, menggunakan indeks atau nama sumbu ( StrCategory
sumbu ideal).
Anda juga dapat membuat dengan hist.stacks.Stack(h1, h2, ...)
, atau menggunakan from_iter
atau from_dict
.
Anda dapat mengindeks tumpukan, dan mengatur entri dengan histogram yang cocok.
Tumpukan mendukung .plot()
dan .show()
, dengan nama (label plot default untuk info sumbu asli).
Tumpukan melewati .project
, *
, +
, dan -
.
Modul baru
intervals
mendukung interval cakupan frequentist.
Buku catatan siap: Hist memiliki representasi dalam buku catatan yang cantik.
Tidak diperlukan ketergantungan
dari hist import Hist# Konstruksi cepat, tidak diperlukan impor lain:h = (Hist.new.Reg(10, 0, 1, name="x", label="x-axis") .Var(rentang(10), nama="y", label="sumbu y") .Int64() )# Mengisi berdasarkan nama diperbolehkan:h.fill(y=[1, 4, 6], x=[3, 5, 2])# Nama dapat digunakan untuk memanipulasi histogram:h.project("x") h[{"y": 0.5j + 3, "x": 5j}]# Anda dapat mengakses koordinat data atau rebin dengan akhiran `j`:h[0.3j:, ::2j] # x dari .3 hingga akhir, y digabungkan kembali dengan 2# Fungsi plot yang elegan:h.plot()h.plot2d_full()h.plot_pull(Callable)
Dari git checkout, gunakan nox, atau jalankan:
python -m pip instal -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.
07-07-2021 PyHEP 2021 -- Histogram Kinerja Tinggi untuk Analisis HEP?
08-09-2020 IRIS-HEP/GSOC -- Hist: histogram untuk analisis yang didukung oleh boost-histogram ?
Prosiding SciPy 2020-07-07?
17-07-2020 PyHEP 2020?
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.