# Rebuild the full Predicted-only Ledger Z=1–118 and export as Markdown and CSV
import pandas as pd
# Known isotopes per element from earlier strict ledger approximation
# We'll use the same list of rows we used to generate the strict ledger (Z=1-118 with Known values)
rows_known = [
("H (1)", 7), ("He (2)", 9), ("Li (3)", 11), ("Be (4)", 12), ("B (5)", 13), ("C (6)", 15),
("N (7)", 16), ("O (8)", 17), ("F (9)", 18), ("Ne (10)", 19), ("Na (11)", 20), ("Mg (12)", 22),
("Al (13)", 22), ("Si (14)", 23), ("P (15)", 23), ("S (16)", 24), ("Cl (17)", 24), ("Ar (18)", 24),
("K (19)", 24), ("Ca (20)", 24), ("Sc (21)", 25), ("Ti (22)", 26), ("V (23)", 26), ("Cr (24)", 26),
("Mn (25)", 26), ("Fe (26)", 28), ("Co (27)", 29), ("Ni (28)", 31), ("Cu (29)", 29), ("Zn (30)", 30),
("Ga (31)", 31), ("Ge (32)", 32), ("As (33)", 33), ("Se (34)", 30), ("Br (35)", 31), ("Kr (36)", 32),
("Rb (37)", 32), ("Sr (38)", 34), ("Y (39)", 32), ("Zr (40)", 34), ("Nb (41)", 34), ("Mo (42)", 35),
("Tc (43)", 36), ("Ru (44)", 37), ("Rh (45)", 35), ("Pd (46)", 36), ("Ag (47)", 38), ("Cd (48)", 39),
("In (49)", 39), ("Sn (50)", 40), ("Sb (51)", 36), ("Te (52)", 38), ("I (53)", 37), ("Xe (54)", 40),
("Cs (55)", 39), ("Ba (56)", 40), ("La (57)", 39), ("Ce (58)", 40), ("Pr (59)", 39), ("Nd (60)", 41),
("Pm (61)", 39), ("Sm (62)", 41), ("Eu (63)", 40), ("Gd (64)", 41), ("Tb (65)", 39), ("Dy (66)", 40),
("Ho (67)", 39), ("Er (68)", 40), ("Tm (69)", 39), ("Yb (70)", 41), ("Lu (71)", 40), ("Hf (72)", 36),
("Ta (73)", 37), ("W (74)", 35), ("Re (75)", 39), ("Os (76)", 35), ("Ir (77)", 34), ("Pt (78)", 35),
("Au (79)", 36), ("Hg (80)", 38), ("Tl (81)", 39), ("Pb (82)", 43), ("Bi (83)", 41), ("Po (84)", 42),
("At (85)", 39), ("Rn (86)", 39), ("Fr (87)", 34), ("Ra (88)", 34), ("Ac (89)", 33), ("Th (90)", 31),
("Pa (91)", 29), ("U (92)", 28), ("Np (93)", 20), ("Pu (94)", 20), ("Am (95)", 17), ("Cm (96)", 19),
("Bk (97)", 21), ("Cf (98)", 20), ("Es (99)", 18), ("Fm (100)", 19), ("Md (101)", 16), ("No (102)", 13),
("Lr (103)", 16), ("Rf (104)", 18), ("Db (105)", 16), ("Sg (106)", 14), ("Bh (107)", 15), ("Hs (108)", 15),
("Mt (109)", 13), ("Ds (110)", 15), ("Rg (111)", 11), ("Cn (112)", 9), ("Nh (113)", 9), ("Fl (114)", 6),
("Mc (115)", 4), ("Lv (116)", 4), ("Ts (117)", 2), ("Og (118)", 1)
]
df_known = pd.DataFrame(rows_known, columns=["Element (Z)", "Isotopes Known"])
KNOWN_TOTAL = df_known["Isotopes Known"].sum()
TARGET_TOTAL = 7759
scale = TARGET_TOTAL / KNOWN_TOTAL
df_known["Predicted Isotopes (est.)"] = (df_known["Isotopes Known"] * scale).round().astype(int)
# Adjust drift
drift = TARGET_TOTAL - df_known["Predicted Isotopes (est.)"].sum()
if drift != 0:
frac = (df_known["Isotopes Known"] * scale) - (df_known["Predicted Isotopes (est.)"])
idx = frac.idxmax() if drift > 0 else frac.idxmin()
df_known.loc[idx, "Predicted Isotopes (est.)"] += drift
pred_total = df_known["Predicted Isotopes (est.)"].sum()
# Save outputs
pred_csv = "/mnt/data/isotope_predicted_only_Z1-118.csv"
pred_md = "/mnt/data/isotope_predicted_only_Z1-118.md"
df_known.to_csv(pred_csv, index=False)
md_text = df_known.to_markdown(index=False)
with open(pred_md, "w", encoding="utf-8") as f:
f.write("# Predicted-only Isotope Ledger (Z = 1 → 118)\n")
f.write("Method: proportional scaling of known isotope chains so the sum = 7,759 (Neufcourt et al. 2020).\n\n")
f.write(md_text + "\n\n")
f.write(f"**Total predicted isotopes:** {pred_total}\n")
from caas_jupyter_tools import display_dataframe_to_user
display_dataframe_to_user("Predicted-only Ledger (Z = 1 → 118)", df_known)
pred_total, pred_csv, pred_md
Key terms in plain language
Open a term for a concise explanation of language used on this page.
Broadband
A general term for always-on, high-speed Internet access. Broadband can be delivered over fiber, cable, DSL, fixed wireless, cellular, or satellite networks.
Cloud Computing
Computing resources—such as applications, servers, storage, or databases—delivered from remote infrastructure and scaled as requirements change.
Cybersecurity
The practices and controls used to protect identities, devices, networks, applications, and data from unauthorized access, disruption, or manipulation.
Identity and Access Management (IAM)
The systems and policies that determine who a user is, what resources they may access, and how that access is authenticated and reviewed.
API
An application programming interface is a defined way for software systems to exchange data or request functions from one another.
Artificial Intelligence (AI)
Software designed to perform tasks involving prediction, classification, generation, reasoning, or decision support. Business use still requires clear data, governance, security, and human accountability.