A set of all the unique coins I sorted through. Presidents not ordered correctly.
Coins
Recently I was given the opportunity to sift through some US one dollar coins from two piggy banks, and I thought it would be interesting to see the distribution of the types of coin that I would find. Let’s jump right into it.
These aren’t all the coins, but rather a set of all the unique coins that I found.
I recorded the numbers of each type of coin (at least discernable by my naked eye with some light internet browsing on coin appraisal sites like this one). For the data vizs, I did not include the Half Dollar coins, quarters, or the Chinese Yuan — only the dollar coins.
I used RapidTables multiple click counters to initially keep track of my data:
To make some interesting visualizations, let’s write some code to do that. Let’s start with importing the Pandas library and then import our tracked data.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format='retina'
bank1 = {
"Sacagawea 2000 D": 209,
"Sacagawea 2000 P": 48,
"Sacagawea 2001 D": 35,
"Sacagawea 2001 P": 1,
"Sacagawea Post 2008": 1,
"Susan B Anthony 1979": 25,
"George Washington": 52,
"John Adams": 16,
"Thomas Jefferson": 17,
"James Madison": 3,
"Millard Fillmore": 1,
"James Monroe": 4,
"William Henry Harrison": 1,
"Andrew Johnson": 1
}
bank2 = {
"Sacagawea Post 2008": 16,
"Sacagawea 2000 D": 4,
"Sacagawea 2000 P": 3,
"Martin Van Buren": 3,
"Thomas Jefferson": 5,
"James A. Garfield": 3,
"John Quincy Adams": 1,
"George Washington": 1,
"Rutherford B. Hayes": 2,
"Ulysses S. Grant": 2,
"William Henry Harrison": 2,
"Andrew Jackson": 2,
"James Buchanan": 2,
"Abraham Lincoln": 1,
"James Madison": 2,
"James K. Polk": 1,
"John Adams": 3
}
Ok, now let’s get aggregate them together based on the coin type and put it into a dataframe:
# Reformat data
coinTypes = list(set(list(bank1.keys()) + list(bank2.keys())))
bank1Counts = []
bank2Counts = []
for ct in coinTypes:
if ct in bank1: bank1Counts.append(bank1[ct])
else: bank1Counts.append(0)
if ct in bank2: bank2Counts.append(bank2[ct])
else: bank2Counts.append(0)
# Construct the dataframe
df = pd.DataFrame(data={
"Coin Type": coinTypes,
"Count Bank 1": bank1Counts,
"Count Bank 2": bank2Counts
})
# Add the total count column for each coin type
df["Count Total"] = df["Count Bank 1"] + df["Count Bank 2"]
df
How much money did we get from each bank and in total, assuming that each dollar coin is exactly $1 USD?
print(f"Money from Bank 1: ${df['Count Bank 1'].sum()}")
print(f"Money from Bank 2: ${df['Count Bank 2'].sum()}")
print(f"Money Total: ${df['Count Total'].sum()}")
Money from Bank 1: $414
Money from Bank 2: $53
Money Total: $467
That’s not an insubstantial sum of money, dare I say.
Now clearly, the first piggy bank had a lot more coins than the second one. Let’s visualize the distribution of the coins in each bank:
fig, ax = plt.subplots(2, 1, figsize=(6, 10))
fig.suptitle("Pie Charts of the Coin Types")
colors = plt.get_cmap("tab20").colors
def autopct_format(pct):
return f"{pct:.1f}%" if pct > 0 else ""
# Bank 1
wedges, texts, autotexts = ax[0].pie(df["Count Bank 1"], colors=colors, autopct=autopct_format, pctdistance=0.85, labeldistance=1.1)
ax[0].set_title("Bank 1")
# Bank 2
wedges, texts, autotexts = ax[1].pie(df["Count Bank 2"], colors=colors, autopct=autopct_format, pctdistance=0.85, labeldistance=1.1)
ax[1].set_title("Bank 2")
fig.legend(wedges, df["Coin Type"], loc="center", bbox_to_anchor=(1, 0, 0.5, 1))
plt.tight_layout()
plt.show()
Pie charts allow for an easy and quick way to look at the distribution of our coins per bank. We can also look at it using a vertical bar plot.
fig, ax = plt.subplots(1,1,figsize=(8,8))
fig.suptitle("Bar Plot Of Coin Type Counts In Two Piggy Banks")
sns.barplot(df, x="Count Bank 1", y="Coin Type", orient="y", ax=ax)
sns.barplot(df, x="Count Bank 2", y="Coin Type", orient="y", color="r", alpha=0.5, ax=ax);
Note that all Presidential coins are minted and are put into circulation starting in 2007, so I would consider them “modern” coins. From this data, we can see that there is a disproportionate amount of “older” coins (pre 2007/8) in the first piggy bank compared to the second piggy bank.
This basically tells us that my parents filled up the first piggy bank when I was younger and much later started filling up the second one when I was older (and never put much into it, apparently) when they encountered less older Sacagawea coins and more of the newer Presidential coins.
Most of these coins will probably be only worth their $1 amount, but if I am hopeful, I would hope that I might have one of the rare Sacagawea 2000 P Cheerios Dolars. Each one of those goes for thousands of dollars, depending on the grade.
Anyways, this concludes this blog post of diving into some coins my parents had.
Update 07/10/2024
I got around to checking all of the Sacagawea 2000 P dollars and unfortunately, none of them are of the rare Cheerios kind. No sudden 3000x in value today huh.