Table Basics¶
Use emzed.Table when you want typed, expression-based tabular data.
Columns such as mz and rt can use emzed.MzType and emzed.RtType so
they print with domain-specific formatting.
"""Create and manipulate an emzed table."""
import emzed
def main():
peaks = emzed.Table.create_table(
["compound", "mz", "rt", "area"],
[str, emzed.MzType, emzed.RtType, float],
rows=[
["caffeine", 195.08765, 42.0, 2.4e6],
["glucose", 181.07066, 60.0, 8.1e5],
["arginine", 175.11895, 95.0, 1.2e6],
],
)
peaks.add_column("area_million", peaks.area / 1e6, float)
late_peaks = peaks.filter(peaks.rt > 50.0)
summary = late_peaks.extract_columns("compound", "mz", "rt", "area_million")
print(summary)
if __name__ == "__main__":
main()
compound mz rt area_million
str MzType RtType float
-------- ----------- -------- ------------
glucose 181.070660 1.00 m 0.810000
arginine 175.118950 1.58 m 1.200000