Hist é um front-end amigável para analistas para histograma de reforço, projetado para Python 3.8+ (usuários 3.6-3.7 obtêm versões mais antigas). Veja o que há de novo.
Você pode instalar esta biblioteca do PyPI com pip:
python3 -m pip install " hist[plot,fit] "
Se você não precisar dos recursos de plotagem, poderá ignorar os extras [plot]
e/ou [fit]
. [fit]
não é atualmente suportado no WebAssembly.
Hist atualmente fornece tudo o que o histograma de reforço oferece e os seguintes aprimoramentos:
Hist aumenta eixos com nomes:
name=
é um rótulo exclusivo que descreve cada eixo.label=
é uma string opcional usada na plotagem (o padrão é name
se não for fornecido).NamedHist
é um Hist
que desativa a maioria das formas de acesso posicional, forçando os usuários a usar apenas nomes. A classe Hist
aumenta bh.Histogram
com uma construção mais simples:
flow=False
é uma maneira rápida de desligar o fluxo dos eixos em construção.storage=
pode ser omitido, strings e storages podem ser posicionais.data=
pode inicializar um histograma com dados existentes.Hist.from_columns
pode ser usado para inicializar com um DataFrame ou dict.Hist suporta QuickConstruct, um sistema de construção livre de importação que não requer importações extras:
Hist.new.().().()
.Regular
) ou curtos ( Reg
).data=
) podem ser armazenados.Recursos de histograma estendido:
.name
e .label
, como eixos..density()
calcula a densidade como um array..profile(remove_ax)
pode converter um histograma ND COUNT em um histograma (N-1)D MEAN..sort(axis)
suporta a classificação de um histograma por um eixo categórico. Opcionalmente, leva uma função para classificar..fill_flattened(...)
irá nivelar e preencher, incluindo suporte para AwkwardArray..integrate(...)
, que aceita os argumentos opostos de .project
.Hist implementa UHI+; uma extensão do sistema UHI (Unified Histogram Indexing) projetado para interatividade sem importação:
j
para mudar para coordenadas de dados em acesso ou fatias.j
nas fatias para rebin.Rotinas de plotagem rápida incentivam a exploração:
.plot()
fornece gráficos 1D e 2D (ou use plot1d()
, plot2d()
).plot2d_full()
mostra projetos 1D em torno de um gráfico 2D..plot_ratio(...)
faz um gráfico de proporção entre o histograma e outro histograma ou chamável..plot_pull(...)
executa um gráfico pull..plot_pie()
cria um gráfico de pizza..show()
fornece uma bela impressão de str usando Histoprint.Pilhas: trabalhe com grupos de histogramas com eixos idênticos
h.stack(axis)
, usando o índice ou o nome de um eixo ( StrCategory
axes ideal).hist.stacks.Stack(h1, h2, ...)
ou usar from_iter
ou from_dict
..plot()
e .show()
, com nomes (os rótulos de plotagem são padrão para as informações dos eixos originais)..project
, *
, +
e -
.Novos módulos
intervals
oferece suporte a intervalos de cobertura frequentistas.Pronto para notebook: Hist tem uma linda representação no notebook.
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 )
Em um checkout do git, use nox ou execute:
python -m pip install -e .[dev]
Consulte Diretrizes de contribuição para obter informações sobre como configurar um ambiente de desenvolvimento.
Gostaríamos de agradecer aos colaboradores que tornaram este projeto possível (chave emoji):
Henrique Schreiner ? | Nino Lau ? | Chris Burr | Nick Amin | Eduardo Rodrigues | Andrzej Novak | Mateus Feickert |
Kyle Cranmer | Daniel Antrim | Nicholas Smith | Michael Eliachevitch | Jonas Eschle |
Este projeto segue a especificação de todos os contribuidores.
Esta biblioteca foi desenvolvida principalmente por Henry Schreiner e Nino Lau.
O apoio para este trabalho foi fornecido pelo acordo de cooperação da National Science Foundation OAC-1836650 (IRIS-HEP) e OAC-1450377 (DIANA/HEP). Quaisquer opiniões, descobertas, conclusões ou recomendações expressas neste material são de responsabilidade dos autores e não refletem necessariamente as opiniões da National Science Foundation.