SweetViz

Published

April 13, 2026

tldr; qwen and I implement SweetViz EDA tools in python.

I have been using qwen-3.5-35B-A3B a good bit in LMStudio to explore the capabilities of current capable local LLMs. In this post, I recount a conversation with the local installation of qwen about SweetViz, a python package for exploratory data visualization.

System Instruction

TipThe System Instruction

You are a capable, thoughtful, and precise assistant. Always prioritize being truthful, nuanced, insightful, and efficient, tailoring your responses specifically to the user’s needs and preferences.

Research before answering the questions: use both reasoning and tool calls to synthesize a proper conclusion. The current month is April and the year is 2026.

library(reticulate)
reticulate::use_virtualenv("SweetViz")

Asking qwen

CautionPrompt

Write up a brief summary set of commands for using SweetViz in python. Construct some code to import this csv of data into python and examine it. The data is one cross-section of funds a link to the data is provided

import pandas as pd
import sweetviz as sv

# Load the data from GitHub URL
url = "https://raw.githubusercontent.com/robertwwalker/DADMStuff/master/BondFunds.csv"
df = pd.read_csv(url)

print(f"Dataset shape: {df.shape}")
Dataset shape: (184, 9)
print(f"\nColumns: {list(df.columns)}")

Columns: ['Fund Number', 'Type', 'Assets', 'Fees', 'Expense Ratio', 'Return 2009', '3-Year Return', '5-Year Return', 'Risk']
print("\nFirst 5 rows:")

First 5 rows:
print(df.head())
  Fund Number                     Type  ...  5-Year Return           Risk
0        FN-1  Intermediate Government  ...            5.5  Below average
1        FN-2  Intermediate Government  ...            6.1  Below average
2        FN-3  Intermediate Government  ...            5.6        Average
3        FN-4  Intermediate Government  ...            5.5        Average
4        FN-5  Intermediate Government  ...            5.4        Average

[5 rows x 9 columns]
# Generate full EDA report (target variable analysis not specified)
bond_report = sv.analyze(df)

                                             |          | [  0%]   00:00 -> (? left)
[Summarizing dataframe]                      |          | [  0%]   00:00 -> (? left)
Feature: Fund Number                         |█         | [ 10%]   00:00 -> (00:00 left)
Feature: Type                                |██        | [ 20%]   00:00 -> (00:00 left)
Feature: Type                                |███       | [ 30%]   00:00 -> (00:00 left)
Feature: Assets                              |███       | [ 30%]   00:00 -> (00:00 left)
Feature: Fees                                |████      | [ 40%]   00:00 -> (00:00 left)
Feature: Expense Ratio                       |█████     | [ 50%]   00:00 -> (00:00 left)
Feature: Expense Ratio                       |██████    | [ 60%]   00:01 -> (00:00 left)
Feature: Return 2009                         |██████    | [ 60%]   00:01 -> (00:00 left)
Feature: 3-Year Return                       |███████   | [ 70%]   00:01 -> (00:00 left)
Feature: 3-Year Return                       |████████  | [ 80%]   00:01 -> (00:00 left)
Feature: 5-Year Return                       |████████  | [ 80%]   00:01 -> (00:00 left)
Feature: 5-Year Return                       |█████████ | [ 90%]   00:02 -> (00:00 left)
Feature: Risk                                |█████████ | [ 90%]   00:02 -> (00:00 left)
Feature: Risk                                |██████████| [100%]   00:02 -> (00:00 left)
Feature: Risk                                |          | [  0%]   00:00 -> (? left)    
[Step 2/3] Processing Pairwise Features      |          | [  0%]   00:00 -> (? left)
[Step 2/3] Processing Pairwise Features      |          | [  0%]   00:00 -> (? left)
[Step 3/3] Generating associations graph     |          | [  0%]   00:00 -> (? left)
Done! Use 'show' commands to display/save.   |          | [  0%]   00:00 -> (? left)
Done! Use 'show' commands to display/save.   |██████████| [100%]   00:00 -> (00:00 left)
Done! Use 'show' commands to display/save.   |██████████| [100%]   00:00 -> (00:00 left)
bond_report.show_html("img/bond_funds_analysis.html", open_browser=False)
Report img/bond_funds_analysis.html was generated.
# Alternative: Analyze with Fees as target variable
risk_report = sv.analyze(df, target_feat = "Fees")

                                             |          | [  0%]   00:00 -> (? left)
[Summarizing dataframe]                      |          | [  0%]   00:00 -> (? left)
Feature: Fees (TARGET)                       |█         | [ 10%]   00:00 -> (00:00 left)
Feature: Fees (TARGET)                       |██        | [ 20%]   00:00 -> (00:00 left)
Feature: Fund Number                         |██        | [ 20%]   00:00 -> (00:00 left)
Feature: Type                                |███       | [ 30%]   00:00 -> (00:00 left)
Feature: Type                                |████      | [ 40%]   00:00 -> (00:00 left)
Feature: Assets                              |████      | [ 40%]   00:00 -> (00:00 left)
Feature: Expense Ratio                       |█████     | [ 50%]   00:00 -> (00:00 left)
Feature: Expense Ratio                       |██████    | [ 60%]   00:01 -> (00:00 left)
Feature: Return 2009                         |██████    | [ 60%]   00:01 -> (00:00 left)
Feature: 3-Year Return                       |███████   | [ 70%]   00:01 -> (00:00 left)
Feature: 3-Year Return                       |████████  | [ 80%]   00:01 -> (00:00 left)
Feature: 5-Year Return                       |████████  | [ 80%]   00:01 -> (00:00 left)
Feature: 5-Year Return                       |█████████ | [ 90%]   00:02 -> (00:00 left)
Feature: Risk                                |█████████ | [ 90%]   00:02 -> (00:00 left)
Feature: Risk                                |██████████| [100%]   00:02 -> (00:00 left)
Feature: Risk                                |          | [  0%]   00:00 -> (? left)    
[Step 2/3] Processing Pairwise Features      |          | [  0%]   00:00 -> (? left)
[Step 2/3] Processing Pairwise Features      |          | [  0%]   00:00 -> (? left)
[Step 3/3] Generating associations graph     |          | [  0%]   00:00 -> (? left)
Done! Use 'show' commands to display/save.   |          | [  0%]   00:00 -> (? left)
Done! Use 'show' commands to display/save.   |██████████| [100%]   00:00 -> (00:00 left)
Done! Use 'show' commands to display/save.   |██████████| [100%]   00:00 -> (00:00 left)
risk_report.show_html("img/bond_funds_fees_analysis.html", open_browser=False)
Report img/bond_funds_fees_analysis.html was generated.

# Summary statistics from SweetViz report will include:
# - Distribution plots for each column
# - Correlation matrix
# - Missing value analysis
# - Categorical frequency distributions

Two outputs:

The full pdf of the conversation is here.

Conversation in pdf form