hist
Version 2.8.0
Hist 是一个分析人员友好的 boost-histogram 前端,专为 Python 3.8+ 设计(3.6-3.7 用户使用旧版本)。看看有什么新内容。
您可以使用 pip 从 PyPI 安装此库:
python3 -m pip install " hist[plot,fit] "
如果您不需要绘图功能,则可以跳过[plot]
和/或[fit]
附加功能。 WebAssembly 目前不支持[fit]
。
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(统一直方图索引)系统的扩展,专为免导入交互性而设计:
j
后缀切换到访问或切片中的数据坐标。j
后缀来重新分类。快速绘图例程鼓励探索:
.plot()
提供一维和二维图(或使用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 checkout 中,使用 nox,或运行:
python -m pip install -e .[dev]
有关设置开发环境的信息,请参阅贡献指南。
我们要感谢使这个项目成为可能的贡献者(表情符号键):
亨利·施赖纳 ? | 刘毅诺 ? | 克里斯·伯尔 | 尼克·阿明 | 爱德华多·罗德里格斯 | 安德烈·诺瓦克 | 马修·费克特 |
凯尔·克兰默 | 丹尼尔·安特里姆 | 尼古拉斯·史密斯 | 迈克尔·埃利亚切维奇 | 乔纳斯·埃施勒 |
该项目遵循所有贡献者规范。
该库主要由 Henry Schreiner 和 Nino Lau 开发。
这项工作由国家科学基金会合作协议 OAC-1836650 (IRIS-HEP) 和 OAC-1450377 (DIANA/HEP) 提供支持。本材料中表达的任何观点、发现、结论或建议均为作者的观点,并不一定反映美国国家科学基金会的观点。