Skip to content
3 min read plotly plotting datetime multi-index

Bamboo Weekly #161: Missiles in Israel

Get better at: CSV, dates and times, grouping, and plotting.

Bamboo Weekly #161: Missiles in Israel

Two administrative notes:

  1. I'm running another set of my hands-on Claude Code workshops! If you've wanted to learn about AI-coding with Python and Pandas, then you should join me for a combination of problem solving and discussion. You can learn more at https://lernerpython.com/code-with-claude/, or watch the recording of an info session I held earlier this week, at https://www.youtube.com/watch?v=74k9Cr4epKY . I promise that the sessions will be great fun, and that we'll all learn a lot together. Questions? Just e-mail me at reuven@LernerPython.com.
  2. We'll have Pandas office hours on Wednesday of next week. If you're a paid BW subscriber, or a member of my LernerPython+data subscription platform, then come ask me anything you want about Pandas and data analysis in Python! I'll send Zoom info in the coming days.

And now, to this week's topic.

The United States and Israel continue to attack Iran, and Iran is striking back at US allies. (Here's a summary of the last week from the New York Times: https://www.nytimes.com/2026/03/11/world/europe/trump-iran-war-global-impact.html?unlocked_article_code=1.SVA.V4bU.e6VtfuiJqB5U&smid=url-share) The United Arab Emirates, Saudi Arabia, Bahrain, Qatar, and Oman, among others, have been targeted by missile and drone attacks.

Israel, where I live, has also been on the receiving end of many missiles and drones. My home, like all modern Israeli homes, has a thick-walled "safe room" where we can wait until given the all-clear. We've spent quite a bit of time there in the last 10 days; for example, between 11 p.m. Tuesday and 11 a.m. Wednesday, we were sent to the safe room six times. I even taught from there for part of Wednesday night, when we were given a missile warning.

These attacks raise some practical questions, such as when to shower. Developer Matan Ellhayani has risen to this challenge, with his https://canishower.com/ site, indicating how likely an alarm is to sound when you want to shower. That site is only possible because Israel publishes its alert data, which is then scooped up and distributed on GitHub by Danny Leshem (https://dannyleshem.com/).

This week, we'll be looking through that GitHub repo, charting the number and locations of missile attacks. Note that one alert might sound in a large number of locations. And an attack might involve any number of missiles -- but it'll still register as one alert.

Note that Israeli government data, including this data set, includes information for Israel and all the territories it controls, including those beyond the Green Line.

Data and five questions

This week's main data comes from https://github.com/dleshem/israel-alerts-data. But because location and alert data is in Hebrew, I have prepared a Python module containing two dictionaries you can use in translating the words into English.

Paid subscribers, both to Bamboo Weekly and to my LernerPython+data membership program (https://LernerPython.com) get all of the questions and answers, as well as downloadable data files, downloadable versions of my notebooks, one-click access to my notebooks, and invitations to monthly office hours.

Learning goals for this week include working with CSV files, date and time data, grouping, and plotting.

Here are my five tasks and questions for the week; I'll be back tomorrow with my solutions and explanations: