Data is an incredibly broad topic but it can be broken down into many subsections, including (in no particular order):

The Python community has built and continues to create open source libraries and tutorials for all of the above topics.

Why is Python a great language choice for data tasks?

Python has a wide array of open source code libraries available and a diverse community of people with different backgrounds who contribute to make those libraries better each day.

In addition, Python data manipulation code can be combined with web frameworks and web APIs to build software that would be difficult to create with a single other language. For example, Ruby is a fantastic language for building web applications but its data analysis and visualization libraries are very limited compared to what is currently available in the Python ecosystem.

How did Python become so widely used for working with data?

Python is a general purpose programming language and can be applied to many problem areas. Over the past couple of decades, Python has become increasingly popular in the scientific and financial communities. Projects such as pandas grew out of a hedge-fund while NumPy and SciPy were created in academic environments then improved by the broader open source community.

The question is: why Python was used to created these projects? The answer is a mix of luck, the growth of the open source community as Python was maturing and wide adoption by people not formally trained as computer scientists. The pragmatic syntax and explicit style helped very intelligent people without programming backgrounds to pick up the language and get their work done with less fuss than other programming languages. Over time the code used in the financial world and scientific community was shared at the same time global open source communities were developing, further spreading their usage among a broader base of software developers.

There's no doubt some of the momentum behind Python's wide adoption for all types of data manipulation was that it happened to be the right language in the right place at the right time. Nevertheless, it was ultimately the hard work of a massive number of engineers and scientists around the world who created the incredible mix of data code libraries available today.

Data inspiration

Sometimes you just need to see it to understand how data analysis, visualization and storytelling can intersect in a meaningful way. The following resources do a great job of telling stories with data. There are more links to stories listed on the data analysis and data visualization pages.

Example data sets

Looking for freely-available data to use in your projects but aren't sure where to get it? The following links have large free, open data sets.

  • Check out the awesome public datasets project repository for data in many different categories ranging from finance to museums.

  • Kickstarter datasets are scraped JSON and CSV structured monthly data from Kickstarter projects.

  • Data is Plural is a weekly newsletter that highlights open data that you can use for your projects. I have been a subscriber to the newsletter for a couple of years now and love seeing the wide variety of data sources that are freely available.

  • Data analysis and machine learning projects provides more than just the data, it also includes instructions and code for working with the data in your own development environment.

  • Discovering millions of datasets on the web introduces Google's dataset search and explains what they learned from iterating on earlier versions of it before they released this one.

General Python data resources

What else would you like to learn about Python and data?

Tell me about standard relational databases.

What're these NoSQL data stores hipster developers keep talking about?

Why is Python a good programming language to use?

Matt Makai 2012-2021