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로 초기화할 수 있습니다.Hist는 추가 가져오기가 필요하지 않은 가져오기 없는 건설 시스템인 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)에 의해 제공되었습니다. 이 자료에 표현된 모든 의견, 조사 결과, 결론 또는 권장 사항은 저자의 것이며 국립 과학 재단의 견해를 반드시 반영하는 것은 아닙니다.