Methuselah Probably Died in the Flood

·

I like math and I like the Bible so I thought, “why not put them together?” So I decided to look at the first recorded genealogy in Genesis 5. It’s a fairly standard, 10 generation list of descendants. Adam had Seth had Enosh… I’ve probably read this passage 50+ times. I put all the dates into an Excel document and then worked some Python magic (code in appendix).

Right off the bat there are some really interesting things that jump out.

  1. Adam almost met his great-great-great-great-great-great-great grandson, Noah. He missed him by about 124 years. Seth was even closer and missed Noah by 8 years.
  2. Enoch was taken from the world 57 years after Adam died (“Instead of saying Enoch died, the text simply says he no longer was present… Similar language is used of Elijah’s departure from this world (see 2 Kgs 2:10)”, NET Translator Notes).
  3. Methuselah died the same year the flood came (“In the six hundredth year of Noah’s life, in the second month, on the seventeen day of the month”, Gen. 7:6). It is very likely that he died in the flood.
  4. There are two millennia packed into this one chapter. Dang! I’m sure someone’s done the population growth modeling on that.

I love data visualization and I’ve been wanting to start going through the Bible for awhile and make some plots. Where should I go next?

Appendix

GenerationNameBirthBefore FatherhoodAfter FatherhoodLifetimeDeathNotes
1Adam0130800930930
2Seth1301058079121042
3Enosh235908159051140
4Kenan325708409101235
5Mahalel395658308951290
6Jared4601628009621422
7Enoch62265300365987Gen. 5:24, ceased to be
8Methuselah6871877829691656
9Lamech8741825957771651
10Noah10565004509502006Gen. 7:6, age 600 when the flood came (1656)
Data Recorded from Genesis 5.
import matplotlib.pyplot as plt
import pandas as pd

fname = 'Genesis 5 Timeline.ods'
gen5_data = pd.read_excel(fname)

# barplot
ax = gen5_data.plot.barh(x='Name', y=['Birth', 'Lifetime'], stacked=True, color=['none', 'k'], 
                         label=['_', 'Lifetime'], xlabel='A.A. (After Adam)', ylabel='_', title='Genesis 5 Timeline')

# bar labels
ax.bar_label(ax.containers[0], color='w')
ax.bar_label(ax.containers[1])

# flood indicator
ax.vlines(x=1656, ymin=-10, ymax=10, ls='--', color='k')
ax.text(x=1700, y=3.5, s='Flood\n(1656)')

# axis styling
ax.xaxis.grid()
ax.set_xlim(0, 2200)

Leave a comment