Hist เป็นส่วนหน้าที่เป็นมิตรต่อนักวิเคราะห์สำหรับบูสต์ฮิสโตแกรม ออกแบบมาสำหรับ Python 3.8+ (ผู้ใช้ 3.6-3.7 ในเวอร์ชันเก่า) ดูว่ามีอะไรใหม่
คุณสามารถติดตั้งไลบรารีนี้ได้จาก PyPI ด้วย pip:
python3 -m pip ติดตั้ง "hist [plot, fit]"
หากคุณไม่ต้องการคุณสมบัติการพล็อต คุณสามารถข้าม [plot]
และ/หรือ [fit]
ส่วนเสริมได้ ขณะนี้ WebAssembly ไม่รองรับ [fit]
ปัจจุบัน Hist ให้ทุกสิ่งที่บูสต์ฮิสโตแกรมมีให้ และการปรับปรุงต่อไปนี้:
ขวานเสริมของพระองค์ที่มีชื่อ:
name=
เป็นป้ายกำกับเฉพาะที่อธิบายแต่ละแกน
label=
เป็นสตริงทางเลือกที่ใช้ในการลงจุด (ค่าเริ่มต้นเป็น name
หากไม่ได้ระบุ)
การจัดทำดัชนี การฉายภาพ และการสนับสนุนเพิ่มเติมที่มีชื่อแกน
NamedHist
รุ่นทดลองคือ Hist
ที่ปิดใช้งานการเข้าถึงตำแหน่งในรูปแบบส่วนใหญ่ โดยบังคับให้ผู้ใช้ใช้เฉพาะชื่อเท่านั้น
คลาส Hist
เพิ่ม bh.Histogram
ด้วยโครงสร้างที่เรียบง่ายกว่า:
flow=False
เป็นวิธีที่รวดเร็วในการปิดโฟลว์สำหรับแกนในการก่อสร้าง
พื้นที่เก็บข้อมูลสามารถกำหนดได้ด้วยสตริง
storage=
สามารถละเว้นได้ สตริงและที่เก็บข้อมูลสามารถวางตำแหน่งได้
data=
สามารถเริ่มต้นฮิสโตแกรมด้วยข้อมูลที่มีอยู่
Hist.from_columns
สามารถใช้เพื่อเริ่มต้นด้วย DataFrame หรือ dict
คุณสามารถส่งกลับไปกลับมาด้วยบูสต์ฮิสโตแกรม (หรือส่วนขยายอื่น ๆ )
Hist รองรับ QuickConstruct ซึ่งเป็นระบบการก่อสร้างที่ไม่ต้องนำเข้าซึ่งไม่จำเป็นต้องมีการนำเข้าเพิ่มเติม:
ใช้ Hist.new.<axis>().<axis>().<storage>()
ชื่อแกนอาจเป็นแบบเต็ม ( 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 มีการนำเสนอในโน้ตบุ๊กที่งดงาม
ไม่จำเป็นต้องพึ่งพา
จากการนำเข้า hist Hist# โครงสร้างที่รวดเร็ว ไม่จำเป็นต้องนำเข้าอื่น:h = (Hist.new.Reg(10, 0, 1, name="x", label="x-axis") .Var(range(10), name="y", label="y-axis") .Int64() )# อนุญาตให้กรอกชื่อได้:h.fill(y=[1, 4, 6], x=[3, 5, 2])# สามารถใช้ชื่อเพื่อจัดการฮิสโตแกรม:h.project("x") h[{"y": 0.5j + 3, "x": 5j}]# คุณสามารถเข้าถึงพิกัดข้อมูลหรือ rebin ด้วยคำต่อท้าย `j`:h[0.3j:, ::2j] # x จาก .3 ถึงจุดสิ้นสุด y ถูกสร้างใหม่ด้วย 2# ฟังก์ชั่นการลงจุดที่หรูหรา:h.plot()h.plot2d_full()h.plot_pull(Callable)
จากการชำระเงิน git ให้ใช้ nox หรือเรียกใช้:
หลาม -m pip ติดตั้ง -e .[dev]
ดูแนวทางการสนับสนุนสำหรับข้อมูลเกี่ยวกับการตั้งค่าสภาพแวดล้อมการพัฒนา
เราขอขอบคุณผู้มีส่วนร่วมที่ทำให้โครงการนี้เป็นไปได้ (คีย์อีโมจิ):
เฮนรี ชไรเนอร์ - | นีโน่ หลิว - | คริส เบอร์ | นิค อามิน | เอดูอาร์โด้ โรดริเกซ | อันเดรจ โนวัค | แมทธิว ไฟเคิร์ต |
ไคล์ แครนเมอร์ | แดเนียล แอนทริม | นิโคลัส สมิธ | ไมเคิล เอลิอาเชวิช | โจนาส เอสเชิล |
โครงการนี้เป็นไปตามข้อกำหนดของผู้มีส่วนร่วมทั้งหมด
07-07-2021 PyHEP 2021 - การทำฮิสโตแกรมประสิทธิภาพสูงสำหรับการวิเคราะห์ HEP
08-09-2020 IRIS-HEP/GSOC -- ฮิสโต: ฮิสโตแกรมสำหรับการวิเคราะห์ขับเคลื่อนโดยบูสต์ฮิสโตแกรม ?
2020-07-07 SciPy ดำเนินการ ?
2020-07-17 PyHEP 2020 ?
ห้องสมุดนี้ได้รับการพัฒนาโดย Henry Schreiner และ Nino Lau
การสนับสนุนสำหรับงานนี้ได้รับการสนับสนุนจากข้อตกลงความร่วมมือของมูลนิธิวิทยาศาสตร์แห่งชาติ OAC-1836650 (IRIS-HEP) และ OAC-1450377 (DIANA/HEP) ความคิดเห็น ข้อค้นพบ ข้อสรุป หรือข้อเสนอแนะใดๆ ที่แสดงในเอกสารนี้เป็นของผู้เขียน และไม่จำเป็นต้องสะท้อนถึงมุมมองของมูลนิธิวิทยาศาสตร์แห่งชาติ