# Data Analysis

> Perform data analysis and generate visualizations using Python (Pandas, Matplotlib, Seaborn). Supports CSV, JSON, and Excel formats. Use when this capability is needed.

- Skill: `tomevault-io/data-analysis-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/data-analysis-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/data-analysis-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/data-analysis-3

---


# Data Analysis Skill

This skill enables deep data exploration, cleaning, aggregation, and visualization using Python's standard data science stack.

## Core Capabilities

1.  **Read Data**: Load data from CSV (`.csv`), Excel (`.xlsx`), JSON (`.json`), or Parquet files.
2.  **Clean & Transform**: Filter rows, handle missing values, reshape data (melt/pivot).
3.  **Aggregate**: Group by columns, calculate sums/means/counts or custom metrics.
4.  **Visualize**: Generate static plots (bar, line, scatter, histogram, boxplot, heatmap) using Matplotlib and Seaborn.

## Dependencies

*   `pandas` (pip install pandas openpyxl)
*   `matplotlib` (pip install matplotlib)
*   `seaborn` (pip install seaborn)

## Workflow Examples

### 1. Basic Statistical Summary

```python
import pandas as pd

# Load data
df = pd.read_csv('data.csv')

# Inspect basics
print(df.head())
print(df.info())
print(df.describe())

# Check for missing values
print(df.isnull().sum())
```

### 2. Visualization: Correlation Heatmap

```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv('dataset.csv')
corr = df.corr()

plt.figure(figsize=(10, 8))
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.title('Correlation Matrix')
plt.savefig('correlation_heatmap.png')
```

### 3. Aggregation and Bar Chart

```python
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_excel('sales_data.xlsx')

# Group by Category and Sum Sales
category_sales = df.groupby('Category')['Sales'].sum().sort_values(ascending=False)

plt.figure(figsize=(12, 6))
category_sales.plot(kind='bar', color='skyblue')
plt.title('Total Sales by Category')
plt.xlabel('Category')
plt.ylabel('Sales ($)')
plt.tight_layout()
plt.savefig('sales_by_category.png')
```

## Best Practices

*   **Avoid large loops**: Use vectorized Pandas operations.
*   **Handle Errors**: Wrap file reading in try-except blocks.
*   **Visual Clarity**: Always label axes and titles in plots.
*   **File Formats**: Specify `engine='openpyxl'` for `.xlsx` files if needed.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/anycowork) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

