Mito Blog
The best place to stay up to date with Mito's development, spreadsheets in Python, and more.
The Benefits a Business Automation Platform
IT Teams are Unable to Keep up with Automation Demands When Excel-based processes graduate to 'business critical' status, it often falls to IT teams to automate them before the Excel-based workflow fails. The failure comes in two flavors: tech failure and process failure. Tech failure is when the Excel file stops working all together. A common tech failure pattern occurs when each month new data is added to an Excel file until the file becomes so large that Excel struggles to calculate the rep...
How to Build a Business Automation Platform using Mito and Streamlit
A Business Automation Platform is a general purpose platform for automating recurring reports. The goal of the platform isn't to automate any single business process, instead, it's goal is provide end users with the tools they need to automate their own repetitive workflows. For business users, automation platforms empower them to automate their own business workflows without waiting in long IT queues. For IT teams, automation platforms allow them to focus on building shared infrastructure use...
How to Run Corporate Python Training Effectively
Python is the go-to language for data science. While Excel is currently the most used tool for data work, Python is quickly replacing it, and there’s a rush to help existing analysts and business users of Excel learn Python. At Mito, we’ve helped run Python trainings at bulge bracket banks and at tiny startups — and we’ve learned a lot along the way. The most effective Python trainings can be an order of magnitude more effective than the least effective ones — and this guide will help you fall ...
Medicare Agency automates data reconciliation process process from 19 to 2
Recon process updates internal records used to pay insurance agent's commission This medicare agency's (MA) team of insurance agents advocates on behalf of the customers to help them sign up for the right Medicare plan. Those insurance agents get paid commission over the lifespan of each policy they help sell. In order to pay insurance agents the correct commission, MA's case management operations team compares their internal book of business (BoB) to those provided by the insurance carrier: H...
10 Common Mistakes for new programmers transitioning from Excel to Python
1. Using single equals sign (=) instead of double equals sign (==) for checking equality: In Excel, a single equals sign checks equality in formulas. For example, the formula =IF(A1=B1, "Equal", "Not Equal") checks if the values in A1 and B1 are the same. In Python, on the other hand, = is used for assignment and == is used to check equality. For example, 'a = 5' assigns the value 5 to the variable 'a', whereas 'a == 5' checks whether 'a' is equal to 5. As seen below, using a single equals sign...
Research: Mito Increases Python Scripting Speed by 400%
We're always on the hunt for tools that improve our efficiency at work. Tools that let us accomplish more with less time, money, and resources. We launched Mito three years ago to help analysts write Python code faster. And even with Mito's limited functionality at the time, our users told us it was speeding up their Python script generation. Now, a few years and many features later, we set out to quantify Mito's impact on analysts' Python productivity. How We Measured Productivity Since our...
Wealth Management Analyst Automates Critical Monthly Deliverable
I used Mito to automate a critical monthly reporting process that is sent to the C-suite. This was my first foray into Python, but I’m now Python-literate, and have continued to automate other manual reporting processes throughout my team. Greg, Analyst in Wealth Management at large North American Bank A Critical Monthly Deliverable Every major bank is required to track and report how well their various funds are performing, and compare these funds to benchmarks. As an analyst at one of the...
Special Events Team at Large Private Equity Saves 7 hours/week using Mito
The Mito report process will end up saving my team and I countless hours during the year with the ability to take complex reporting data and turn it into useable information for our Stakeholders. We’re able to automate complex reporting structures. Now we can easily run a script to give us a neat, concise report that we can give to our key stakeholders. One of the things we don’t have is extra time and we are never sure when we will be asked to produce this data. - Margaret, Vice President. The...
The Best Python Packages for Citizen Data Scientists
Citizen data scientists are becoming more essential than ever to organizations that rely on data. If you’re a citizen data scientist or an organization that is looking to upskill your team members, there are some great tools out there for taking their data science skills to the next level. Making the jump from Excel to data science tools like Python can empower citizen data scientists to do even more with the data your organization collects. In this blog, we’ll outline some of the best tools and...
3 Rules for Choosing Between SQL and Python
Analysts at the world's top banks are automating their manual Excel work so they can spend less time creating baseline reports, and more time building new analyses that push the company forward. These report automations often live in Jupyter Notebooks and use a combination of SQL and Python. Usually SQL is used in the first part of the script to access data, and Python is used in the latter parts of the report to analyze the data, create visualizations, and build the final output. Transitionin...
How ChatGPT Works With Spreadsheets — Use-Cases and Limitations
ChatGPT has various capabilities, and its natural-language processing makes it incredibly easy to use. This has led some users to utilize ChatGPT to help analyze data in their spreadsheets, whether that be through Excel, Google Sheets or even Python. While ChatGPT certainly has some use cases for spreadsheets, it also has some limitations to be aware of. In this blog, we’ll take a look at how ChatGPT works with spreadsheets and talk about some alternatives for spreadsheet users that can make u...
Exploring Enterprise-Focused AI Code Assistants for Python and Pandas
Enterprise businesses need to stay on top of the latest technologies to stay competitive and optimize operations. The growth of AI code assistants for Python and Pandas has massive potential for enterprise organizations. By embracing these AI solutions, businesses can improve their data stack and take advantage of various other key benefits and use cases. In this post, we’ll explore some of the benefits that you can reap from Python and Pandas AI code assistants. What Is an AI Code Assistant?...
Can ChatGPT Write Python Code?
AI continues to evolve and become more ubiquitous in nearly every industry. One of the most prominent and widely used AI applications is Open AI’s ChatGPT, which can generate answers and even code based on natural language prompts. If you code in Python, you may be wondering if ChatGPT can be used in your workflows. The short answer is yes. The long answer is yes, but it’s important to understand its capabilities and limitations. In today’s blog, we’ll answer the question as to whether or not ...
LLMs for Pandas and Python - The Promise of Data Science and AI
AI is already being used in countless data science applications and workflows, and it looks like the capabilities of these tools are only going to continue to revolutionize the data science field. Many data scientists are harnessing Python and Pandas to parse, manipulate and analyze data, but AI can help take Python and Pandas to the next level. A particularly interesting area in AI that could change data science forever is LLMs or large language models. LLMs can be combined with Python and Pa...
Building a Better Data Science Stack with AI Tools
Data-driven businesses are continually looking for ways to update and improve their data stack to give them better insights and a competitive edge. In the data science field, these technologies and tools are evolving at a rapid pace. AI tools and machine learning have exploded in popularity in recent years, and these tools are becoming more affordable and accessible than ever. In fact, AI tools are helping many businesses build a better data science stack built for the future. In this blog, we’l...
Python AI Coding Tools in Finance, Banking and Fintech: Making Big Data Better
The financial services industry is continually evolving, with many finance, banking and fintech organizations making good use of big data to improve their business. However, harnessing the power of big data can sometimes be a daunting endeavor. That’s where AI comes in. With advanced Python AI coding tools, the finance industry can improve its data insights and use big data more effectively than ever before. In this blog, we’ll take a look at how data is changing finance and how you can use AI t...
Building Your Life Away: Reflections on a New Spreadsheets
I've spent the past 3 years of my life building a spreadsheet. Day in, day out, rows and columns. Pivot tables and graphs. Formulas and importing and exporting. Building a spreadsheet is how I plan to spend the next decade of my life – which is a somewhat sobering thought. A decade ago, I was still in high-school, and was working up to wearing jeans to school for the first time. The next decade feels like a long time. I'm wondering why the hell building a spreadsheet takes so long. I could b...
Lessons Learned from 2 months of ChatGPT in a Mature Product
This is post two in our series Lessons Learned from Adding ChatGPT to a Mature Product. Read post one here. Two months ago we released the first version of Mito AI. Since then we’ve made two primary improvements. We introduced the Mito AI server so that users no longer needed to bring their own OpenAI key. And we also turned our wacky Mito AI interface into the chat bot interface that we all know and love… or so we thought. We’re about to release new AI features again, but before we do, we wan...
Excel’s VLOOKUP with Python Code: An Easy Equivalent with Pandas
Excel is the world's most popular data analysis tool. One of its most popular functions is VLOOKUP – it lets Excel users easily match records across two tables to combine their values into one table. While Excel and its functions can be useful, many people are switching to Python for data analysis and manipulation due to its power and flexibility compared to spreadsheets. However, for those making the transition, the lack of a built in VLOOKUP function in Python can be a barrier to adoption. T...
Transitioning from Excel to Python and Pandas: A Guide to Python for Spreadsheet Users
Do you regularly use spreadsheets in Excel or Google Sheets? If you’re looking for something more powerful, using Python can give you more tools and flexibility for handling data. However, the transition from Excel to Python might be intimidating for some. In this blog, we’ll give you the information you need to make the jump from using Excel to using Python and Pandas. Read on to learn how to unlock the potential of these tools. Spreadsheets are great, but they have limitations There’s ...
Python Projects for Beginners: Simple Ideas to Get Started With Python Programming
Python is one of the most widely used and versatile programming languages — but where do you start? Fortunately, there are plenty of great resources out there for learning Python, and getting started with some simple projects can help build your skills. In this guide, we’ll give you some fun and simple projects that will develop your coding skills, help you dive into the Python language and give you a good foundation to build on Why Learning Python Is Worth It If you’re interested in programm...
Why Financial Institutions Need to Upskill Their Employees with Python
Finance is an industry highly focused on efficiency. Just look at high frequency trading. Milliseconds and Millimeters are key to making trades faster. Python is at the forefront of not just trading but generally making financial services, fintech, any industry tangential to finance run smarter and faster. If we look back, spreadsheets have been the key piece of software in finance. They are the best way to visualize financial data, and they allow the users to see relationship in their data bett...
How to Generate Pandas Code with LLM Tools like ChatGPT
What Is Pandas? Pandas is an open source Python package most commonly used for data analysis. Wes Mckinney created pandas, while at a hedge fund named AQR capital, so it is not a coincidence that Pandas is often used in financial services for data analysis. Pandas allows users to work with large datasets with syntax that comparably simple to other python packages. Python has a whole host of packages for data analysis, but pandas is certainly a foundational one, which most beginners start with. ...
Mito AI For Enterprise: Bring Your Own Model
Mito AI has been live for less than a month, and since then we’ve watched our open source users use it in incredibly creative ways. Our users have used Mito AI to work around limitations in our product, do complex transformations with a single request, optimize their scripts, and generally augment the automation capabilities of Mito to a degree we didn’t expect. To help our enterprise customers accelerate their adoption of cutting-edge automation tools, we just launched a bring-your-own model ...
A Guide to Writing Python with AI
This will be an overview of the tools you can use to write Python automatically with AI. OpenAI Codex This is the most widely used code generation tool. It relies on Chat GPT-3 to generate code that the user prompts with written words. For example, as the website’s documentation says, prompting “Make a red ball bounce around the screen” will generate the code on the right of the image below. As you can imagine, this is a simple Java example and more elaborate prompts will have less reliable ...
Wall Street's Transition from Excel to Python
No, Spreadsheets Are not Going Away The common first question I get is “why do you think Python can eat Excel”? This is the wrong approach, in my opinion. Python is not going to eat Excel – it is too foundational (large parts of the global economy depend on spreadsheets – not without detriment). But other than market share, it’s just very good at a lot of things. Spreadsheets are an amazing piece of software, arguably the most successful piece of software ever — Excel itself has over 750 milli...
5 Lessons Learned from Adding ChatGPT to a Mature Product
Last month, Mito launched v1 of Mito AI. To be totally honest with you, it’s not the world’s best AI feature (yet). We wanted to get something out the door so that our users could start exploring, and so that we could start learning. V2 of Mito AI is coming soon. Before we release it, we wanted to share 5 concrete learnings we had from launching this feature. Lesson 1: Your users are probably excited by AI features. Mito is just a Python package. As such, users get new features by manually o...
Python Basics #4: Pandas
This is post four in our series Python Basics, where we discuss the minimum Python and Jupyter you need to know to successfully automate Excel reports using Mito. Read Post One: Hello World, Post Two: Variables, and Post Three: Functions. So far, we've used variables to hold individual values, for example the string "Hello World". But since our goal is to migrate an entire Excel report to Python, we need a way of working with entire tables of data. The pandas Python package was developed exact...
Under Excel's Thumb: Reasons for Excel’s Dominance
It’s a supremely underrated fact that Excel is the most-widely used piece of consumer software outside of a web-browser, and has been so for the past 40 years or so. Simply put, Excel is one of the most dominant pieces of software of all time. What can explain this dominance? How does a program that has not really changed in 40 years keep its relevance? Despite being a programmer myself, why do I feel myself turning to Excel for many of my one-off data tasks? Why am I under Excel’s thumb? Intr...
Python Basics #3: Functions
This is post three in our series Python Basics, where we discuss the minimum Python and Jupyter you need to know to successfully automate Excel reports using Mito. Read Post One: Hello World and Post Two: Variables. In the last post, we learned that variables are containers that hold values. Over the course of the program, the variable's value can change. We wrote the following code: You might be wondering why using the variable is an improvement? Instead, we could have just created two print ...
Merging Dataframes
Merging dataframes allows you to combine multiple data sources into one. In the data world, enriching data often includes merging two datasets together. These datasets can be similar or different. Pandas is a great way to do this in a few lines of code. Below you’ll find easy “copy and paste -able” code to merge dataframes in seconds. The code you probably want Merge two datasets with an lookup join (similar to a VLOOKUP in Excel): import pandas as pd fav_color_df = pd.DataFrame({ "name":...
Python Basics #2: Variables
This is post two in our series Python Basics, where we discuss the minimum Python and Jupyter you need to know to successfully automate Excel reports using Mito. Read post one here. In the last post, we wrote our first piece of code. Now, it's time to understand a few of the basic concepts we used. Literals A literal is a specific value. The string "Hello World" in the code above is a literal. We'll often call literals "hard coded" values because the only way to change the value is to actual...
Python Basics #1: Hello World
Welcome to the exciting and powerful world of Python. If you’re here, you probably have at least one of these Excel files in your life: 1. The too big for its own good: This Excel file has so much data in it that it takes 10 minutes to open and another 10 minutes every time you have to edit it. It was probably designed a few years ago and now you are in charge of managing it. 2. The repetitive report: This Excel report is important for you and your team. So important, in fact, that you refres...
Add a Column to a Pandas Dataframe
Adding a column to a pandas dataframe allows you to create new and useful calculations from existing data in your dataframe. The code you probably want Adding a new column to the end of the dataframe and setting it equal to a transformation of existing columns. import pandas as pd df = pd.DataFrame({'amount': [3, 2], 'price': [2.1, 2.3]}) df['revenue'] = df['amount'] * df['price'] Other Common Use Cases Insert new column at a specific index import pandas as pd df = pd.DataFrame({'amoun...
Director of Finance saves 16 hours per month with Mito
To build weekly KPIs for my sales team, I need to quickly generate insights from our massive set of Salesforce opportunities. Instead of fighting with Excel to analyze my data, I’m using Mito to generate Python scripts myself and saving four hours per week. — Tom Bellis, Director of Finance @ Enigma Enigma builds world-class datasets that tell the story of small businesses across America. These datasets are used by some of the world’s largest financial institutions, like Capital One, who use it...
A Guide to Pivot Tables in Pandas
Pivot tables are the classic requirement on a job posting that you learn the day before the interview. Nobody uses them until you need them, and then they become your best friend. Pivot tables were first featured in Lotus, the precursor to Excel, and then became popularized in Excel 5. Pivot tables take a large dataset, groups the data into buckets based on a specified attribute, and calculates summary information for each of those groups. Let’s say a shopkeeper was looking at a dataset with th...
Concatenating Dataframes in Pandas
If you concatenate two dataframes, a new dataframe will be created with the rows of the first dataframe above the rows of the second dataframe. The code you probably want To concatenate two dataframes while keeping only the columns they share: import pandas as pd df1 = pd.DataFrame({'A': [1, 2], 'B': ['a', 'b']}) df2 = pd.DataFrame({'A': [3, 4], 'B': ['c', 'd']}) concatenated_dataframe = pd.concat([df1, df2], ignore_index=True) Other Common Use Cases Only keep columns that are present in...
Automating Spreadsheets with Python 101
Looking for a bit of automation, eh? We get it. That weekly_report.xlsx sheet started simple enough, with just a data pull tab and a calculations tab. Things spiraled from there. Now you’re at twenty tabs, and while tab growth isn’t slowing down, that spreadsheet certainly is. You have to update the damn thing manually every week, which takes hours you’d rather spend literally anywhere else. In the past two years of building a spreadsheet that writes Python code for you as you edit, we’ve helpe...
5 Questions this Page Will Answer
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 ...