Simple Example#
Let’s try some basic functionality of boost-histogram:
[1]:
import numpy as np
import boost_histogram as bh
[2]:
vals = np.random.normal(size=(2, 1_000_000))
[3]:
hist = bh.Histogram(
bh.axis.Regular(10, 0, 10, metadata="x", transform=bh.axis.transform.sqrt),
bh.axis.Regular(10, 0, 1, circular=True, metadata="y"),
storage=bh.storage.Int64(),
)
hist
[3]:
Histogram(
Regular(10, 0, 10, metadata='x', transform=sqrt),
Regular(10, 0, 1, circular=True, metadata='y'),
storage=Int64())
This fills the histogram
[4]:
hist.fill(*vals)
[4]:
Histogram(
Regular(10, 0, 10, metadata='x', transform=sqrt),
Regular(10, 0, 1, circular=True, metadata='y'),
storage=Int64()) # Sum: 499682.0 (1000000.0 with flow)
Let’s just take a quick look at the bin contents:
[5]:
print(hist.view())
[[ 3955 3992 3972 3948 3930 3987 4073 3982 3878 4073]
[11519 11675 11560 11528 11612 11575 11476 11643 11573 11603]
[16197 16087 16261 16043 15775 15912 16067 16010 15973 15998]
[12843 12956 12855 12912 12870 12940 12962 12891 12752 13073]
[ 4807 4952 4844 4859 4869 4788 4657 4931 4775 4874]
[ 636 618 598 608 633 644 603 635 611 645]
[ 14 18 20 13 12 21 10 18 15 22]
[ 0 0 0 0 1 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0]]