It has been quite a week in Israel. We've been up at all hours, awakened by air-raid sirens warning us of incoming Iranian missiles (https://www.timesofisrael.com/iran-fires-pair-of-overnight-missile-barrages-at-israel-khamenei-the-battle-begins/). These missiles have killed dozens of civilians and caused massive damage to dozens of homes. And we know that these numbers would have been much higher had it not been for such technologies as Iron Dome. Just while researching and writing this issue of Bamboo Weekly, I was interrupted by two such missile alerts.
Iran's missile attacks, of course, come while Israel is bombing a wide variety of military and nuclear facilities. The stated goal is to stop Iran from being able to achieve its goal of getting a nuclear bomb, and (eventually) destroying Israel. Iran has long funded a number of terrorist groups, including Hezbollah in Lebanon and the Houthis in Yemen.
I've received many notes from subscribers asking how I am doing. The answer is that I'm mostly exhausted, but also fortunate. My home, like all Israeli homes built in the last 30 years, has a "safe room" with thick, reinforced walls and a heavy metal door that we enter when we hear the air-raid sirens. We are safe in there, but it's less-than-comfortable to hear booms outside, to know that people have been injured and killed, and to see photos showing the devastation caused by 1,000 kg of explosive – either when it lands as intended, or when it is intercepted, resulting in multiple, large pieces of flaming metal landing at high speed. And being awakened multiple times each night, and generally being on edge about when my phone will next alert me about an incoming missile, isn't fun.
I'm also nervous about where this is all going, and how (when) we're going to de-escalate.
The New York Times columnist Thomas Friedman had a good piece about what this all means: https://www.nytimes.com/2025/06/13/opinion/israel-iran-strikes.html?unlocked_article_code=1.P08.njnv.x_MSbRRv-s33&smid=url-share
So missiles have been on my mind, and I decided that they would be an appropriate topic for this week's data analysis.
Data and five questions
This week's data comes from the Arms Control Association (https://www.armscontrol.org/), which describes itself as a nonpartisan organization dedicated to providing information and commentary on arms-control issues. (If you're interested, they have a page dedicated to Iran's nuclear program at https://www.armscontrol.org/factsheets/status-irans-nuclear-program-1 .)
This week, I have five questions for you.
There is no downloadable data file for paid subscribers, because downloading and importing it is part of the exercise this week. (And I'll admit that it's a bit tricky!)
I'll be back tomorrow with my complete solutions and explanations, as well as a downloadable Jupyter notebook.
Here are my five tasks and questions:
- Create a data frame from the "worldwide ballistic missile inventories" table at https://www.armscontrol.org/factsheets/worldwide-ballistic-missile-inventories . Use the first row as the column names. Remove the footnote numbers that appear at the end of country names, statuses and column titles. (We'll leave them elsewhere, where removing them is much trickier.) Make the country names the index for the data frame.
- Now clean up the data in the "Range" column, such that it contains only numbers. If a cell contains two numbers to indicate high and low parts of the range, then just keep the high part. What dtype is most appropriate here?