Learn Python with Talk Python's 270 hours of courses

Do Excel things, get notebook Python code with Mito

Episode #343, published Tue, Nov 30, 2021, recorded Mon, Nov 8, 2021

Here's a question: What's the most common way to explore data? Would you say pandas and matplotlib? Maybe you went more general and said Jupyter notebooks. How about Excel, or Google Sheets, or Numbers, or some other spreadsheet app? Yeah, my bet is on Excel. And while it has many drawbacks, it makes exploring tabular data very accessible to many people, most of whom aren't even developers or data scientists.

On this episode, we're talking about a tool called Mito. This is an add-in for Jupyter notebooks that injects an Excel-like interface into the notebook. You pass it data via a pandas dataframe (or some other source) and then you can explore it as if you're using Excel. The cool thing is though, just below that, it's writing the pandas code you'd need to do to actually accomplish that outcome in code.

I think this will make pandas and Python data exploration way more accessible to many more people. So if you've been intimidated by pandas, or know someone who has, this could be what you've been looking for.

Watch this episode on YouTube
Play on YouTube
Watch the live stream version

Episode Deep Dive

Guests introduction and background

Aaron, Nate, and Jake are co-founders of Mito. Aaron and Jake are twin brothers who studied computer science and business at the University of Pennsylvania, where they first experienced the power of data analytics through Excel and Python side-by-side. Nate is their longtime friend (dating back to middle school) and also studied at Penn, bringing a blend of technical and business insights to the team. Together, they set out to make Python-driven data workflows simpler and more accessible by combining the best of Excel’s user experience with the power of pandas.

What to Know If You're New to Python

Many parts of this conversation highlight the bridge from Excel to Python, especially focusing on pandas and Jupyter notebooks. If you're getting started in Python and want to follow along:

  • Know that pandas is a core data library for Python that allows data manipulation similar to Excel.
  • Jupyter notebooks are a popular, interactive environment for data exploration, but can introduce some installation complexity.
  • Understanding basic Python types (integers, strings, lists) and how to install packages with pip or conda is often enough to get you going with data analysis.
  • Be aware that working in data science will likely involve reading CSV/Excel files, cleaning data, and creating visualizations—pandas plus a plotting library is usually the go-to combination.

Key points and takeaways

  1. Bridging Excel and Python with Mito Mito offers a spreadsheet-like interface directly inside Jupyter notebooks, letting users manipulate data with familiar Excel operations. Under the hood, Mito auto-generates pandas code so you get both a visual workflow and full Python scripts you can revisit or modify later.
  2. Lowering the Barrier to Pandas Many newer Python data scientists or Excel power users find pandas syntax daunting when getting started. Mito’s interface helps them explore and transform data by pointing and clicking, rather than writing all the syntax manually. This helps beginners avoid frustration and more quickly gain confidence in the Python ecosystem.
  3. Code Generation Done Right Every change made in the Mito spreadsheet is reflected as structured and documented Python code in the cell below. Rather than producing messy, unreadable blocks, Mito strives to optimize these generated scripts so they’re closer to best practices. Users can even refine or extend this code on their own, which fosters learning and deeper data science engagement.
    • Links and tools:
      • Plotly (used for graphs generated by Mito)
  4. Installation Challenges and Jupyter Ecosystem Getting Jupyter and related Python environments set up can be tricky, especially for non-developers. The conversation highlights JupyterLab Desktop, JupyterLite, and other emerging solutions that reduce environment hassles by shipping “batteries included” or leveraging WebAssembly in the browser. Mito’s team also invests energy in making installation more seamless for users who need a quick start.
  5. Interactive Data Exploration and EDA Mito adds helpful features such as summary statistics, distribution plots, filtering by unique values, and cell-based formula logic reminiscent of Excel. This visual approach to Exploratory Data Analysis (EDA) complements Jupyter’s head(), describe(), or custom plotting code, and provides a quick way to pivot, merge, and clean data.
  6. Pivot Tables and Advanced Transformations A frequent need for Excel users is quickly grouping and summarizing data via pivot tables. Mito’s pivot table UI in the notebook accomplishes this and auto-generates the corresponding pandas “group by” or “pivot” code. Advanced transformations like joining multiple datasets are also streamlined.
  7. Performance and Larger Data Sets While Mito does load data into an in-browser grid, it employs lazy loading (virtual scrolling) to handle more rows than can fit on-screen. Underneath, it’s still pandas, so if the dataset grows beyond local memory, using solutions like Dask could be the next step. The Mito team noted future possibilities for integrating with Dask to scale beyond a single machine.
    • Links and tools:
  8. No-Code vs. Low-Code vs. Full-Code Mito sits in a balanced spot between no-code dashboards and pure Python scripts. It doesn’t lock you into a proprietary platform. Instead, it writes real Python code that you own, so you can switch back and forth as needed. This approach helps maintain reproducibility and collaboration with full-time Python developers.
    • Links and tools:
      • Alteryx (mentioned as a higher-level tool comparison)
  9. Collaboration and Communication One of the big advantages of bridging Excel and Python is bringing more stakeholders into data-driven discussions. Teams where some members prefer code and others prefer a spreadsheet can meet in the middle with Mito. This also prevents issues like version conflicts or multiple “.xlsx” attachments flying around in email threads.
  10. Mito’s Future and Business Model Mito is free to use in many scenarios, especially for individuals. The team sustains its project by providing paid support and enterprise-ready features to larger organizations. They continue improving code optimization, advanced charting, and cross-platform support (like VS Code, Google Colab) to make Mito a lasting, polished tool for the data community.

Interesting quotes and stories

  • Excel “Dark Ages”: A memorable comparison was how switching between a CS environment with code and the business school’s reliance on Excel felt like the “dark ages” of data tools. This contrast motivated them to merge the best of both worlds.
  • Complex Excel Models: The Mito team encountered enormous 75-tab Excel files loaded with circular references. Their reaction was, “We probably even built worse ones ourselves, but we saw that bridging to Python was essential to handle complexity more sanely.”
  • Hitting Scale Limits: Nate joked about telling users, “Grab a coffee or maybe even sleep overnight,” if they tried to process huge data in pure Excel. This scenario underlined why Mito and pandas are valuable for larger, more efficient analytics.

Key definitions and terms

  • Jupyter Notebook: An interactive environment in which you can combine code, visualizations, and narrative text.
  • pandas: A Python library for data manipulation, providing DataFrame objects and many convenient functions for data wrangling.
  • Pivot Table: A feature for grouping and summarizing data across one or more dimensions.
  • Lazy Loading: Loading data incrementally (often in slices) rather than all at once to manage memory efficiently.
  • Low-Code / No-Code: Tools that let you build applications or perform data manipulations with minimal hand-written code.

Learning resources

Here are resources to help you deepen your Python and data analysis skills:

Overall takeaway

Mito serves as a powerful gateway for both Excel enthusiasts and experienced Pythonistas to create repeatable, optimized data transformations. The conversation demonstrates how the future of data analysis will increasingly blur the lines between code and spreadsheets, with Mito striving to deliver the best of both worlds. By generating clean Python behind its intuitive UI, Mito empowers you to scale your analysis, learn better coding practices, and remain free to adapt or customize as you grow.

Links from the show

Mito: trymito.io
Mito summary stats: trymito.io
pandas-profiling package: github.com
Lux API: pypi.org
Hex notebooks: medium.com
Deepnote: deepnote.com
Papermill: papermill.readthedocs.io
JupterLite: jupyter.org
Jupyter Desktop App: github.com
Jut: github.com
Jupyter project: jupyter.org
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy

Talk Python's Mastodon Michael Kennedy's Mastodon