Mito
Mito for Streamlit
  • Mito Documentation
  • Getting Started
    • Installing Mito
      • Fixing Common Install Errors
      • Installing Mito in a Docker Container
      • Installing Mito for Streamlit
      • Installing Mito for Dash
      • Installing Mito in a Jupyter Notebook Directly
      • Installing Mito in Vertex AI
      • Setting Up a Virtual Environment
  • Data Copilot
    • Data Copilot Core Concepts
    • Agent
    • Chat
    • Autocomplete
    • Smart Debugging
    • Configuration Options
    • AI Data Usage FAQ
  • Mito Spreadsheet
    • Core Concepts
    • Creating a Mitosheet
      • Open Existing Virtual Environments
    • Importing Data
      • Importing CSV Files
      • Importing from Excel Files
      • Importing Dataframes
      • Importing from a remote drive
      • Import: Generated UI from any Python Function
      • Importing from other sources
    • Graphing
      • Graph Creation
      • Graph Styling
      • Graph Export
    • Pivoting/Group By
    • Filter
      • Filter By Condition
      • Filter By Value
    • Mito AI
    • Summary Statistics
    • Type Changes
    • Spreadsheet Formulas
      • Custom Spreadsheet Functions
      • Formula Reference
      • Using VLOOKUP
    • Editing Individual Cells
    • Combining Dataframes
      • Merge (horizontal)
      • Concatenate (horizontal)
      • Anti-merge (unique)
    • Sort Data
    • Split Text to Columns
    • Deleting Columns
    • Deleting Rows
    • Column Headers
      • Editing Column Headers
      • Promote Row to Header
    • Deduplicate
    • Fill NaN Values
    • Transpose
    • Reset Index
    • Unpivot a Dataframe (Melt)
    • Formatting
      • Column Formatting
      • Dataframe Colors
      • Conditional Formatting
    • Exporting Data
      • Download as CSV
      • Download as Excel
      • Generate code to create Excel and CSV reports
    • Using the Generated Code
      • Turn generated code into functions
    • Changing Imported Data
    • Code Snippets
    • Custom Editors: Autogenerate UI from Any Function
    • Find and Replace
    • Bulk column header edits
    • Code Options
    • Scheduling your Automation
    • Keyboard Shortcuts
    • Upgrading Mito
    • Enterprise Logging
  • Mito for Streamlit
    • Getting Started with Mito for Streamlit
    • Streamlit Overview
    • Create a Mito for Streamlit App
    • API Reference
      • Understanding import_folder
      • RunnableAnalysis class
      • Column Definitions
    • Streamlit App Gallery
    • Experienced Streamlit Users
    • Common Design Patterns
      • Deploying Mito for Streamlit in a Docker Image
      • Using Mito for Final Mile Data Cleaning
  • Mito for Dash
    • Getting Started
    • Dash Overview
    • Your First Dash App with Mito
    • Mito vs. Other Dash Components
    • API Reference
      • Understanding import_folder
    • Dash App Gallery
    • Common Design Patterns
      • Refresh Sheet Data Periodically
      • Change Sheet Data from a Select
      • Filter Other Elements to Data Selected in Mito
      • Graph New Data after Edits to Mito
      • Set Mito Spreadsheet Theme
  • Tutorials
    • Pass a dataframe into Mito
    • Create a line chart of time series data
    • Delete Columns with Missing Values
    • Split a column on delimiter
    • Rerun analysis on new data
    • Calculate the difference between rows
    • Calculate each cell's percent total of column
    • Import multiple tables from one Excel sheet
    • Share Mito Spreadsheets Across Users
  • Misc
    • Release Notes
      • April 15 - Now Streaming (0.1.18)
      • March 21 - Smarter, Faster, Stronger Agents
      • February 25 - Agent Mode QoL Improvements
      • February 18 - Mito Agents
      • January 2nd - Inline Completions Arrive
      • December 6th - Smarter Workflow
      • November 27th - @ Mentions, Mito AI Server
      • November 4th, 2024 - Hello Mito AI
      • October 8, 2024 - JupyterLab 4
      • Aug 29th, 2024
      • June 12, 2024
      • March 19, 2024
      • March 13th, 2024
      • February 12th, 2024: Graphing Improvements
      • January 25th, 2024
      • January 5th, 2023: Keyboard Shortcuts
      • December 6, 2023: New Context Menu
      • November 28, 2023: Mito's New Toolbar
      • November 7, 2023: Multiplayer Dash
      • October 23, 2023: RunnableAnalysis class
      • October 16, 2023: Mito for Dash, Custom Editors
      • September 29, 2023: VLOOKUP and Find and Replace!
      • September 7, 2023
      • August 2, 2023: Mito for Streamlit!
      • July 10, 2023
      • May 31, 2023: Mito AI Recon
      • May 19, 2023: Mito AI Chat!
      • April 27, 2023: Generate Functions, Performance improvements, bulk column header transformations
      • April 18, 2023: Cell Editor Improvements, BYO Large Language Model, and more
      • April 10, 2023: AI Access, Excel-like Cell Editor, Performance Improvements
      • April 5, 2023: Range formulas, Pandas 2.0, Snowflake Views
      • March 29, 2023: Excel Range Import Improvements
      • March 14, 2023: Mito AI, Public Interface Versioning
      • February 28, 2023: In-place Pivot Errors
      • February 7, 2023: Excel-like Formulas, Snowflake Import
      • January 23, 2023: Excel range importing
      • January 8, 2023: Custom Code snippets
      • December 26, 2022: Code snippets and bug fixes
      • December 12, 2022: Group Dates in Pivot Tables, Reduced Dependencies
      • November 15, 2022: Filter in Pivot
      • November 9, 2022: Import and Enterprise Config
      • October 31, 2022: Replay Analysis Improvements
      • Old Release Notes
      • August 10, 2023: Export Formatting to Excel
    • Mito Enterprise Features
    • FAQ
    • Terms of Service
    • Privacy Policy
  • Mito
Powered by GitBook

© Mito

On this page

Was this helpful?

  1. Tutorials

Rerun analysis on new data

A step-by-step guide to reusing your Python code to refresh a report with new data.

PreviousSplit a column on delimiterNextCalculate the difference between rows

Last updated 1 year ago

Was this helpful?

If you're looking to rerun an analysis in streamlit or dash, see .

This step-by-step tutorial shows you how rerun an analysis you’ve previously created on a new data set. It uses the change imports taskpane.

In this tutorial, we’ll create a pivot table on the june_loans.csv file, and refresh that pivot table on the july_loans.csv file.

Step 1: Import data for your analysis.

I’m importing june_loans.csv, but the same approach works regardless if I’m importing csv files, excel files, dataframes, or a combination of them.

Step 2: Construct your analysis.

Here, I’ve created a pivot table that shows us the average loan amount for each purpose of receiving a lone.

Step 3: Open the change imports taskpane.

Now that we’ve created an analysis, we can easily rerun this analysis on a new dataset using the change imports feature. In the Mito toolbar, click on Dataframes > Change imported data.

Step 4: Select new data for your analysis

The change imports taskpane shows us all the data we’ve imported to our analysis. In this example, we only have one csv file, june_loans.csv. However, if I imported additional csv files, excel files, or dataframes, they would also appear in this list.

To select new data for the analysis, click on the file in the taskpane and select whether you want to replace the data with a file or dataframe.

In this example, we want to replace june_loans.csv with july_loans.csv, so we will select “Replace with file”.

Step 5: Import the new file using the Mito file system

Follow the prompts in the taskpane to select the new file. It works the same as importing files using the Mito file explorer.

In this example, we’ll select july_loans.csv.

Once you’ve selected the file, press the Update button at the bottom of the taskpane.

Step 6: Replay the analysis on new data

Once you’ve selected new data, the taskpane will show you the changes you are about to make. In this example, we see that we’re about to replace the june_loans.csv file with the july_loans.csv file.

After double checking that we’ve properly selected the new data for each import that we want to change, press the Change Imports button at the bottom of the taskpane.

Step 7: Confirm that the analysis was updated successfully

If the analysis updated successfully, you should see a notification on the right-hand side of the screen that says “Successfully replayed analysis on new data”. Updating the data has done a few things:

  • It updates the data in Mito. Here, we see that our analysis has the tabs july_loans and july_loans_pivot instead of june_loans and june_loans_pivot. We also notice that the data in the pivot table is different than the original pivot table we created.

  • It updates the generated code. Notice that the generated code now imports the july_loans.csv file instead of the june_loans.csv file and that the dataframe name is updated accordingly.

Our analysis updated successfully!

Additional Notes

  • In this scenario we still had access to the original data. If on the other hand, you do not have access to the original data, when you rerun the mitosheet.sheet() call the change imports taskpane will automatically open. It will include an error message that tells you which files need to be updated.

  • When you change the imported data, the dataframe names used in the generated code update as well. In the example we just looked at, the pivot table was originally called june_loans_pivot and updated to july_loans_pivot. If you’ve written custom python code that references the Mito generated dataframes, this can cause issues, so make sure to rename the sheet tabs in Mito so that they have a consistent name. For example, if in the original analysis we updated the pivot table name from june_loans_pivot to average_loan_amounts, then when we rerun the analysis on july_loans.csv, the pivot table will still be named average_loan_amounts.

this documentation