Hist เป็นส่วนหน้าที่เป็นมิตรต่อนักวิเคราะห์สำหรับบูสต์ฮิสโตแกรม ออกแบบมาสำหรับ Python 3.8+ (ผู้ใช้ 3.6-3.7 ในเวอร์ชันเก่า) ดูว่ามีอะไรใหม่
คุณสามารถติดตั้งไลบรารีนี้ได้จาก PyPI ด้วย pip:
python3 -m pip install " hist[plot,fit] "
หากคุณไม่ต้องการคุณสมบัติการพล็อต คุณสามารถข้าม [plot]
และ/หรือ [fit]
ส่วนเสริมได้ ขณะนี้ WebAssembly ไม่รองรับ [fit]
ปัจจุบัน Hist ให้ทุกสิ่งที่บูสต์ฮิสโตแกรมมีให้ และการปรับปรุงต่อไปนี้:
ขวานเสริมของพระองค์ที่มีชื่อ:
name=
เป็นป้ายกำกับเฉพาะที่อธิบายแต่ละแกนlabel=
เป็นสตริงทางเลือกที่ใช้ในการลงจุด (ค่าเริ่มต้นเป็น name
หากไม่ได้ระบุ)NamedHist
แบบทดลองคือ Hist
ที่ปิดใช้งานการเข้าถึงตำแหน่งในรูปแบบส่วนใหญ่ โดยบังคับให้ผู้ใช้ใช้เฉพาะชื่อเท่านั้น คลาส Hist
เพิ่ม bh.Histogram
ด้วยโครงสร้างที่เรียบง่ายกว่า:
flow=False
เป็นวิธีที่รวดเร็วในการปิดโฟลว์สำหรับแกนในการก่อสร้างstorage=
สามารถละเว้นได้ สตริงและที่เก็บข้อมูลสามารถวางตำแหน่งได้data=
สามารถเริ่มต้นฮิสโตแกรมด้วยข้อมูลที่มีอยู่Hist.from_columns
สามารถใช้เพื่อเริ่มต้นด้วย DataFrame หรือ dictHist รองรับ QuickConstruct ซึ่งเป็นระบบการก่อสร้างที่ไม่ต้องนำเข้าซึ่งไม่จำเป็นต้องมีการนำเข้าเพิ่มเติม:
Hist.new.().().()
Regular
) หรือแบบสั้น ( Reg
)data=
) สามารถเข้าไปในที่เก็บข้อมูลได้คุณสมบัติฮิสโตแกรมเพิ่มเติม:
.name
และ .label
เช่น axes.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
บนสไลซ์เพื่อ rebinกิจวัตรการวางแผนอย่างรวดเร็วส่งเสริมการสำรวจ:
.plot()
ให้แปลง 1D และ 2D (หรือใช้ plot1d()
, plot2d()
).plot2d_full()
แสดงโปรเจ็กต์ 1D รอบพล็อต 2D.plot_ratio(...)
สร้างอัตราส่วนระหว่างฮิสโตแกรมกับฮิสโตแกรมอื่นหรือเรียกได้.plot_pull(...)
ดำเนินการดึงพล็อต.plot_pie()
สร้างพล็อตพาย.show()
ให้งานพิมพ์ str ที่ดีโดยใช้ Histoprintสแต็ค: ทำงานกับกลุ่มฮิสโตแกรมที่มีแกนเหมือนกัน
h.stack(axis)
โดยใช้ดัชนีหรือชื่อของแกน ( StrCategory
axes Ideal)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) ความคิดเห็น ข้อค้นพบ ข้อสรุป หรือข้อเสนอแนะใดๆ ที่แสดงในเอกสารนี้เป็นของผู้เขียน และไม่จำเป็นต้องสะท้อนถึงมุมมองของมูลนิธิวิทยาศาสตร์แห่งชาติ