What is Mito?
A softball to start. Mito is a spreadsheet interface for Python. Edit a spreadsheet. Generate the equivalent Python. You can ingest data, clean data, transform data, visualize data, and share data in the Mitosheet, without needing to write the code yourself. But the answer to this question is evolving (link to release notes on the word evolving, as we are constantly thinking about what features allow spreadsheet users to best transition to Python. Our team has implemented Mito at some of the largest companies in the world, to transition thousands of spreadsheet users to Python. We’ve also built an open source community over 40k people who are using Mito to do this work themselves.
Who is this page for?
This page is for anyone who wants to work with data in a better way than they are currently. Mito does two things: it allows spreadsheet users to transition to Python and it allows current Python users to use Python way more efficiently. Imagine a spectrum of data analysis ability starting from fully in spreadsheets to beginner in Python to advanced in Python. Mito will move you farther towards advanced Python ability, regardless of your starting point.
Spreadsheet User Example:
One of our first users is named Matt. He worked in a pharma company and was excellent at making pivot tables in Excel. Unfortunately, he was looking at big datasets, and his pivot tables took 15 minutes to create weekly. With Mito, he was able to set up the exact same pivot tables in a spreadsheet interface that ran on Python. His pivots updated in seconds instead of minutes, and since he had generateed Python script, he only ever needed to set up the process once —it was fully automated moving forward. With just a simple pivot table set up in Mito, Matt saved himself hours a week. If you’re interested in how easy it is to automate a process in Mito, you can read more here.
Beginner Python User Example:
A lot of users in our community find Mito once they have already started their transition to Python. Mikayla worked in asset management at one of the largest banks of the US. She had a mandate from her manager to start moving some of her spreadsheets processes over to Python — their datasets no longer fit in Excel, and so their financial analyses had become fragmented across multiple workbooks. Mikayla soon realized that starting with Python really means starting with Stack Overflow and googling syntax questions, and only ~20% of her time was actually spent doing the analysis. By using Mito, she never had to leave her Python environment, and could write code for data analysis (pivoting, filtering, joining etc.) as fast as any of the data scientists she used to consistently go to for help.
It’s worth noting that some people meet these qualifications but may not know about Python, so if any of these apply to you, you’re in the right place:
- You work with slow spreadsheets
- You work with data sizes that are too large for your spreadsheets, so you have to cut them down
- You struggle to connect to databases and data sources
- You have spreadsheet processes that are hard to repeat on new datasets
- You have time-consuming, manual spreadsheet processes that could be automated
Why should I use Python?
You should not use Python for the sake of using Python* There are plenty of tasks that work better in a normal spreadsheet – record keeping for a small amount of records, for example. In this blog, we’ll go through examples of spreadsheet work that is great for Python and spreadsheet work that should probably stay in a spreadsheet. We’ll also give you the skills to identify tasks that are a great fit for Python and the work required to make the transition – with Mito – hopefully not much at all!
The criteria for whether to bring a process into Python break down into the task and the stakeholders of the task.
- The task:
- Is the amount of data in the spreadsheet slowing it down?
- Is there more data you would like to include in this analysis, that you can’t fit in a spreadsheet?
- Are you constantly redoing this task on new datasets?
- The stakeholders of the task:
- Is the outcome of this task communicated in a spreadsheet, a dashboard, an email etc.?
- Does this task interact with people who are already using Python?
*Python is the fastest growing programming language, so if you want to start using it simply for future-proofing your skillset, I don’t blame you.
How do I transition spreadsheet work to Python?
We will spend a majority of our time here. Mito aims to make this as seamless as possible, allowing users to do their spreadsheet work in Mito and generate the Python code automatically.
But Mito can’t do everything that Excel or Python can do (not yet!), so in those areas, we’ll show you the easiest ways to write production-ready Python yourself.
Through Mito, we’ll cover topics such as:
- Accessing data
- Automating reports
- Joining datasets together
- Pivoting data
- Filtering data
- Exporting data to a database
- Cleaning data
- Finding Missing Values
- Finding the differences between two datasets
- Formatting data for presentation
Beyond the mechanics of implementing spreadsheet tasks in Python, we’ll also dive into the project management aspect of these new Python processes. A Python notebook is a great place to manage a process from, but it has some important differences from Excel workbooks that we will cover in detail.
How can I get my organization to transition spreadsheet work to Python?
Despite finding a great spreadsheet task to transition to Python, it can be challenging to identify all of the stakeholders to the analysis and get them onboard. There is a paradox where the most important processes are often the best targets for Python automation, yet they often meet pushback because of how much of a loss it would be if something went wrong during the transition
In this page, we’ll take you through how to accurately convince your team of the benefits of bringing a spreadsheet process to Python, and how to ensure that right safeguards are in place during the transition.
Hint: don’t delete your spreadsheet process while the Python version is still being set up.
We are excited to start building this page, and the community around it. Check out our discord here: link
The transition from spreadsheets to Python is a massive wave that we did not start, but we hope that this page and Mito itself provide a great sturdy surfboard for the next 1 million Python users to ride on.
Stay tuned for a ton more topics and if you have any suggestions on what you’d like to see here, please write to me: firstname.lastname@example.org :)