Using Julius AI for Exploratory Data Analysis
How to upload a dataset to Julius AI, use natural language to run descriptive statistics, generate visualizations, and identify patterns worth investigating — with notes on verifying the code it writes.
What Julius AI does
Julius AI is a data analysis tool that lets you upload a dataset (CSV, Excel, SPSS, or other formats) and interact with it in natural language. You describe what you want — “show me a histogram of age distribution by group,” “run a correlation matrix on these variables,” “flag rows where value exceeds 3 standard deviations” — and Julius writes and executes the Python or R code to produce it.
This tutorial covers a full exploratory data analysis (EDA) session: uploading data, understanding the dataset structure, generating descriptive statistics, building visualizations, and identifying patterns to investigate further.
Before you start: what EDA is for
Exploratory data analysis is the phase before hypothesis testing — you’re trying to understand your dataset: its shape, distributions, missing data patterns, outliers, and the relationships between variables. EDA doesn’t produce conclusions; it produces informed decisions about what to test and how.
Good EDA catches problems early: variables coded incorrectly, outliers that are data entry errors, distributions that violate assumptions of planned tests, missing data that isn’t missing at random.
Step 1: Prepare your dataset
Julius works best with clean, well-labeled files.
Before uploading:
- Ensure column headers are in the first row and are descriptive (e.g.,
age_yearsnotv3) - Encode categorical variables consistently (e.g.,
Male/Female, notM/f/Female) - Note any variables with special coding (e.g.,
999= missing,-1= not applicable) - Remove or flag any columns containing personally identifiable information — do not upload raw participant data with names, IDs, or contact information to a cloud service
Supported formats: CSV, Excel (.xlsx, .xls), TSV, JSON, SPSS (.sav), Stata (.dta)
Step 2: Upload and orient
- Go to julius.ai and sign in
- Create a new analysis → upload your file
- Start with an orientation query:
“Give me an overview of this dataset — how many rows and columns, what each column contains, the data type of each column, and the number of missing values per column.”
Julius will run descriptive code and return a summary table. Review it carefully:
- Are all columns the expected data type? (Numeric variables coded as text are a common issue)
- Which variables have missing data, and how much?
- Do the value ranges look plausible? (An age variable with a minimum of -3 or a maximum of 999 signals a problem)
Step 3: Descriptive statistics
For each variable you plan to analyze, get basic descriptives:
“For the continuous variables [list them], show me mean, median, standard deviation, min, max, and the 25th and 75th percentiles.”
“For the categorical variables [list them], show me the frequency count and percentage for each category.”
Check the output against what you expect. Unexpected distributions are worth investigating before you run any inferential statistics.
Step 4: Visualize distributions
Histograms and density plots reveal whether distributions are approximately normal, skewed, bimodal, or have problematic floor/ceiling effects:
“Plot a histogram with a KDE overlay for [variable]. Use 30 bins.”
“Create a boxplot for [variable] grouped by [group variable].”
“Plot the distribution of [outcome variable] separately for each level of [grouping variable] — I want to see them on the same axes.”
For categorical variables:
“Create a bar chart showing the count of [category variable], sorted from most to least frequent.”
Step 5: Explore relationships
Correlation matrix:
“Show a correlation matrix heatmap for these variables: [list]. Use a diverging color scale centered at zero.”
Scatter plots:
“Scatter plot of [x variable] vs [y variable]. Color the points by [group variable]. Add a regression line for each group.”
Cross-tabulations:
“Cross-tabulate [variable A] by [variable B]. Show both counts and row percentages.”
Look for: strong correlations between predictors (multicollinearity risk), non-linear relationships, interactions between variables, and group differences worth modeling.
Step 6: Identify and investigate outliers
“Identify rows where [variable] is more than 3 standard deviations from the mean. Show me those rows.”
“Flag any rows with missing values in more than 3 of these columns: [list]. How many rows would be excluded by listwise deletion?”
For each outlier: is it a data entry error, a legitimate extreme value, or a participant from a different population? Your answer determines whether to exclude, Winsorize, or model it separately.
Step 7: Export results
“Export the correlation matrix as a CSV.”
“Save the histogram as a PNG at 300 DPI for publication.”
“Show me the Python code used for this analysis so I can reproduce it.”
The last prompt is important. Julius generates code behind the scenes — always retrieve and save it so your analysis is reproducible and you can run it again when data is updated.
Verifying Julius’s output
Julius is generally reliable for standard EDA tasks, but always:
- Check the code for statistical operations — especially correlation method (Pearson vs. Spearman), how missing values are handled (
dropnavs. imputation), and grouping logic - Verify plot axes — confirm axis labels, units, and ranges are correct before using a chart in a presentation or manuscript
- Re-run key analyses independently for any result going into a publication — paste the generated code into a Jupyter notebook or RStudio and confirm it produces the same output
What Julius can’t do
- Inferential statistics for publication should be run in R or Python with full control over assumptions and model specification — Julius is an EDA accelerator, not a statistics package
- Causal inference — Julius can show you correlations and patterns; interpreting them causally requires domain knowledge and appropriate study design
- Sensitive data — don’t upload data that contains patient health information, participant PII, or data subject to data use agreements that restrict cloud processing