Data Analytics EDA Guide PDF
A repeatable exploratory data analysis process with quality checks, univariate and bivariate analysis, outlier handling, and worked pandas and SQL examples.
9 programs
Choose the best training program according to your career.
Improve the performance of your business with our innovative Industrial Training Program.
Read More →
Our instructor-led training classes are designed to make you an expert.
Read More →
Real-life case studies are a great way to demonstrate your practical knowledge.
Read More →
Explore blogs, latest technologies and industry updates with practical examples.
Read More →Browse all available training programs and choose the right one for your career.
Read More →Know more about who we are and what we stand for.
Discover our mission to equip individuals with essential IT skills and industry expertise.
Read More →Learn, practice and plan your career — bilkul free.
Book a free video counselling session and pick the right course for you.
Read More →Download the exploratory data analysis (EDA) guide PDF from Uncodemy: steps, checks, charts, a pandas workflow and a checklist for any dataset.
This page offers Uncodemy's exploratory data analysis (EDA) guide as a PDF download. EDA is the first careful look at a dataset: checking its structure and quality, summarising each column, comparing groups and spotting patterns, outliers and relationships before any modelling or reporting. This guide gives a repeatable process with Python examples.
Download the complete EDA guide as a PDF. Fill in the short form and the file will download automatically.
A repeatable exploratory data analysis process with quality checks, univariate and bivariate analysis, outlier handling, and worked pandas and SQL examples.
These commands give the size, types, missing values and basic statistics of a table. File and column names are examples.
import pandas as pd
df = pd.read_csv("sales.csv")
print(df.shape) # rows, columns
print(df.dtypes) # data type of each column
print(df.head()) # first five rows
print(df.isna().sum()) # missing values per column
print(df.duplicated().sum()) # duplicate rows
print(df.describe()) # count, mean, std, min, quartiles, max
| Problem | How to detect it | Typical action |
|---|---|---|
| Missing values | isna().sum(), percentage per column | Fill, drop or flag, depending on the cause |
| Duplicates | duplicated(), key columns repeated | Remove exact duplicates, investigate partial ones |
| Wrong data types | Dates stored as text, numbers as strings | Convert types explicitly |
| Impossible values | Negative ages, future birth dates | Correct from source or mark invalid |
| Inconsistent labels | value_counts() shows "Delhi", "delhi" | Standardise case and spacing |
| Outliers | Box plots, values far from the quartiles | Verify; keep if real, fix if an error |
Start by understanding each variable alone. For a numeric column look at the mean, median, minimum, maximum and spread, and draw a histogram to see the shape: is it symmetric, skewed or does it have several peaks? A large gap between mean and median suggests skew or outliers.
For a categorical column count how many rows fall in each category and see whether a few categories dominate. Univariate checks often reveal surprises such as a column that is almost entirely one value, which makes it nearly useless for analysis.
Summaries for one numeric and one categorical column.
print(df["order_value"].describe())
print(df["order_value"].skew()) # skewness
print(df["region"].value_counts(normalize=True)) # share per category
df["order_value"].plot(kind="hist", bins=30)
After single columns, examine relationships. For two numeric variables use a scatter plot and a correlation coefficient. For a numeric and a categorical variable compare group statistics, for example average order value by region, with a box plot to see spread as well as the centre. For two categorical variables use a cross-tabulation.
A correlation matrix gives a quick overview of linear relationships across many numeric columns, but remember that correlation does not prove causation and that a straight-line measure can miss curved relationships.
Group averages and a correlation matrix.
print(df.groupby("region")["order_value"].agg(["count", "mean", "median"]))
print(pd.crosstab(df["region"], df["channel"]))
print(df[["order_value", "discount", "quantity"]].corr())
SQL is often the quickest way to explore data that lives in a database. The orders table here has region and order_value columns for illustration.
SELECT region,
COUNT(*) AS orders,
ROUND(AVG(order_value), 2) AS avg_order_value,
MIN(order_value) AS min_value,
MAX(order_value) AS max_value
FROM orders
GROUP BY region
ORDER BY avg_order_value DESC;
An outlier is a value far from the rest. Do not delete outliers automatically. First ask whether the value is an error, such as an extra zero typed by mistake, or a genuine rare event, such as a very large corporate order.
Errors should be corrected or excluded with a note. Genuine extremes should usually stay, but you may report statistics that resist them, such as the median, or analyse them separately. A common rule flags values beyond 1.5 times the interquartile range from the quartiles, but it is only a prompt to investigate, not a verdict.
A good EDA ends with a short written summary: what the data contains, its quality problems and how you treated them, the most important patterns, the questions the data cannot answer and the recommended next analysis. Keep the notebook or query file so that the work can be repeated when new data arrives.
Ready to explore datasets with confidence? Explore Uncodemy's Data Analytics course and learn from industry trainers.