Last night, just before going to sleep, I saw that Transparency International (https://www.transparency.org/), a nonprofit organization that tracks corruption in governments around the world, had come out with its latest report. "That would make for a great data set," I thought, and made a note to myself to check into it further this morning.
I wasn't wrong, and that's our topic for this week. But it turns out that I had similar thoughts way back in Bamboo Weekly #1 (https://www.bambooweekly.com/government-corruption/), where we looked at that year's corruption data.
But corruption is always in style, and we're seeing a lot of it -- most prominently with the United States, where President Donald Trump has enriched himself by an estimated $4 billion over his first year in office (https://www.npr.org/2026/02/08/nx-s1-5704312/how-the-presidency-is-making-trump-richer). There are, however, many other countries in the world, and no small number of them have ticked up in corruption over the last few years, too.
This week, we'll look at the data from Transparency International. We'll look not only at this year's data, but also make some comparisons with previous years, produce some graphs, and generally try to understand the state of corruption.
Paid subscribers, both 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 Excel files, grouping, plotting, filtering, and categorizing.
Data and six questions
This week's data comes from the data file provided by Transparency International. You can download it as an Excel file from:
https://files.transparencycdn.org/images/CPI2025_Results.xlsx
Here are this week's six questions; I'll be back tomorrow with my solutions and complete explanations:
- Read the 2025 corruption data into a Pandas data frame, keeping only the first five columns. Using Plotly, create a Choropleth map of countries in which they are colored according to their corruption ranking in reverse (such that yellow represents non-corrupt countries and dark purple represents corrupt ones) and using a Robinson projection.
- Show the names of the most and least corrupt countries in each region, using the CPI score. Show the highest and lowest CPI scores for these most/least corrupt countries, and the difference between them. How big is the most/least difference in each region?