Skip to content
2 min read · Tags: csv pyarrow filtering renaming-columns formatting strings plotly

BW #132: JetBrains survey

Get better at: CSV files, PyArrow, reducing memory usage, working with dates and times, pivot tables, and plotting.

BW #132: JetBrains survey

Who is using Python? Every year, JetBrains (makers of the popular PyCharm IDE, among other things) partners with the Python Software Foundation to ask Python programmers about themselves, their work, their software projects, and their open-source contributions. The results from the 2024 survey are out, and this week, we'll examine that data.

There are blog posts summarizing the survey from the PSF (https://pyfound.blogspot.com/2025/08/the-2024-python-developer-survey.html) and also from JetBrains, in a guest blog post from Michael Kennedy (https://blog.jetbrains.com/pycharm/2025/08/the-state-of-python-2025/).

But I saw these results and thought... if the data is publicly available, then maybe we can ask our own questions, exploring the data for ourselves? Of course, with a data set this large and rich, we can only explore a small fraction of the possible questions that we might want to ask. So once you're done with this week's questions, consider what else you might want to do with this data.

Data and five questions

The home page for this year's survey results is at https://lp.jetbrains.com/python-developers-survey-2024/. To download the raw data, go to the bottom of the page. and click on the yellow "download survey's raw data" button. That'll take you to a shared Google Drive folder, from which you can download the survey data (in a zipped CSV file), along with a data dictionary, the survey itself, and some other related information.

We'll work with the CSV data file to answer this week's questions.

Learning goals include working with NaN values, PyArrow, filtering and renaming columns, formatting strings, and plotting with Plotly.

Paid subscribers, including subscribers to my LernerPython+data program, can download the file from the end of this message.

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