6–8 weeks
Time to learn basics
Pandas
Most important library
Jupyter Notebook
Best tool for beginners
+₹1–3 LPA
Python salary boost
01
Why Python? The Honest Answer for Indian Data Analysts
Before we get into syntax and libraries, let me answer the question honestly: do you actually need Python as a data analyst in 2026?
The truthful answer is: it depends on the role. If you are targeting MIS Analyst, Reporting Analyst, or junior Data Analyst positions at companies like Genpact, Wipro, or HCL in Noida — SQL and Power BI will get you through the door. Python is a strong bonus, not a hard requirement for those roles.
But for roles at product companies (MakeMyTrip, Zomato, Paytm, Info Edge), startups, and mid-to-senior analyst positions, Python is expected. It unlocks things that SQL and Excel simply cannot do: handling millions of rows without crashing, automating repetitive data tasks, building reusable data pipelines, generating charts with a single line of code, and eventually moving into data science if you choose to.
The other honest reason to learn Python: it makes you dramatically faster. A data cleaning task that takes 45 minutes manually in Excel takes 3 minutes in Pandas once you have written the script — and runs in 30 seconds every time after that.
My recommendation for EVIKA Academy students: learn SQL and Excel first, get comfortable, then add Python in month 3–4. Do not skip the foundations.
02
Setting Up Python — The Right Way for Beginners
The most common mistake beginners make is spending three days trying to set up their Python environment and getting frustrated before writing a single line of code. Here is the fastest path.
Install Anaconda (free, available at anaconda.com). Anaconda is a Python distribution that comes with Jupyter Notebook, Pandas, NumPy, and Matplotlib pre-installed — you do not need to install anything separately. This single download gets you everything a data analyst needs.
Once installed, open Anaconda Navigator and launch Jupyter Notebook. This opens in your browser as an interactive coding environment where you can write code in cells, run them one at a time, and see results immediately below each cell. This is how most data analysts actually work day-to-day.
Your first cell should be:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
If these three lines run without errors, your environment is set up correctly. Do not spend more than 30 minutes on setup. If something goes wrong, Google the exact error message — almost every setup issue has been solved by someone on Stack Overflow.
VS Code is a good alternative IDE once you are more comfortable, but Jupyter Notebook is the right starting point for beginners because the cell-by-cell execution makes it easy to experiment and understand what each line of code does.
03
Pandas — The Most Important Library to Master
Pandas is the backbone of data analysis in Python. It gives you the DataFrame — a two-dimensional table of data with labeled rows and columns, like an Excel spreadsheet but with the power of code behind it.
Loading data is the starting point. To load a CSV file: df = pd.read_csv('sales_data.csv'). To load an Excel file: df = pd.read_excel('sales_data.xlsx'). To read from a SQL database: df = pd.read_sql('SELECT * FROM sales', connection).
The most important things to do immediately after loading any dataset:
df.shape — shows rows and columns count
df.head() — shows the first 5 rows
df.info() — shows column names, data types, and null counts
df.describe() — shows basic statistics for numeric columns
These four commands give you an instant understanding of what you are working with before you do anything else.
Filtering rows works like this: filtered_df = df[df['Region'] == 'North']. Multiple conditions: df[(df['Region'] == 'North') & (df['Revenue'] > 50000)].
Selecting columns: df[['CustomerName', 'Revenue', 'Date']]. Creating a new column: df['Profit'] = df['Revenue'] - df['Cost'].
Grouping and aggregating — this is where Pandas becomes powerful. To calculate total revenue by region: df.groupby('Region')['Revenue'].sum(). To calculate multiple aggregations: df.groupby('Region').agg({'Revenue': 'sum', 'Orders': 'count', 'Profit': 'mean'}).
Sorting: df.sort_values('Revenue', ascending=False).head(10) gives you the top 10 rows by revenue.
Merging two DataFrames — equivalent to SQL JOINs: pd.merge(df_sales, df_customers, on='CustomerID', how='left').
04
Data Cleaning — The Skill That Separates Real Analysts
In the real world, 60–70% of a data analyst's time is spent cleaning data, not building charts. Raw data from business systems is almost always messy — missing values, duplicate rows, inconsistent formats, wrong data types, and outliers. Python makes this work fast and reproducible.
Handling missing values:
df.isnull().sum() — count nulls in each column
df.dropna() — remove rows with any null (use carefully — you may lose important data)
df['Revenue'].fillna(0) — fill nulls in Revenue with 0
df['Category'].fillna('Unknown') — fill nulls with a string
df['Revenue'].fillna(df['Revenue'].mean()) — fill with column average
Removing duplicates:
df.duplicated().sum() — count duplicate rows
df.drop_duplicates() — remove all duplicate rows
df.drop_duplicates(subset=['CustomerID']) — remove duplicates based on specific column
Fixing data types — a very common issue when importing from CSV:
df['Date'] = pd.to_datetime(df['Date']) — convert string to date
df['Revenue'] = pd.to_numeric(df['Revenue'], errors='coerce') — convert to number, set non-numeric to NaN
df['CustomerID'] = df['CustomerID'].astype(str) — convert to string
Cleaning text columns:
df['Name'] = df['Name'].str.strip() — remove leading/trailing spaces
df['Name'] = df['Name'].str.title() — convert to Title Case
df['Email'] = df['Email'].str.lower() — convert to lowercase
df['City'] = df['City'].str.replace('Noida UP', 'Noida') — standardise values
Handling outliers — checking for extreme values:
Q1 = df['Revenue'].quantile(0.25)
Q3 = df['Revenue'].quantile(0.75)
IQR = Q3 - Q1
df_clean = df[(df['Revenue'] >= Q1 - 1.5*IQR) & (df['Revenue'] <= Q3 + 1.5*IQR)]
The discipline to document your cleaning steps and save the cleaned data separately (not overwrite the original) is what makes a professional analyst.
05
Exploratory Data Analysis (EDA) — Finding the Story in Your Data
EDA is the process of exploring a dataset to understand its structure, patterns, and anomalies before drawing conclusions or building anything. It is part detective work, part storytelling. This is where analysis actually happens.
A typical EDA workflow for a sales dataset would look like this:
Step 1 — Understand the shape and contents. How many rows? How many columns? What are the data types? Any obvious issues with nulls?
Step 2 — Describe numeric columns. df.describe() gives you min, max, mean, median, and percentiles. If revenue has a max of 10 crore but a mean of 2 lakh, something interesting is happening in the tail of that distribution.
Step 3 — Check distributions with histograms:
df['Revenue'].plot(kind='hist', bins=50, title='Revenue Distribution')
plt.show()
Step 4 — Find the top performers:
df.groupby('Product')['Revenue'].sum().sort_values(ascending=False).head(10)
Step 5 — Look at trends over time:
df['Month'] = df['Date'].dt.to_period('M')
monthly = df.groupby('Month')['Revenue'].sum()
monthly.plot(kind='line', title='Monthly Revenue Trend')
plt.show()
Step 6 — Check correlations between numeric variables:
df.corr()
Step 7 — Look for anomalies. Are there dates in the future? Negative revenues? Orders with zero quantity? These are the kinds of data quality issues that silently corrupt analysis if missed.
The output of EDA should be 5–10 key observations written in plain English that tell the business something they did not know before. Not just "revenue increased" — but "revenue in Q3 was driven entirely by the Electronics category, which grew 34%, while all other categories declined."
06
Matplotlib & Seaborn — Visualising Your Analysis
Python's visualisation libraries let you create publication-quality charts with a few lines of code. For data analysts, the goal is clarity over decoration — a chart that takes 30 seconds to understand has failed its purpose.
Matplotlib is the foundation:
import matplotlib.pyplot as plt
Bar chart:
categories = df.groupby('Category')['Revenue'].sum()
categories.plot(kind='bar', color='#FF6B00', figsize=(10,6))
plt.title('Revenue by Category')
plt.xlabel('Category')
plt.ylabel('Revenue (₹)')
plt.tight_layout()
plt.savefig('revenue_by_category.png', dpi=150)
plt.show()
Line chart for trends:
monthly_revenue.plot(kind='line', color='#0a1628', linewidth=2, marker='o')
plt.title('Monthly Revenue Trend 2026')
plt.grid(True, alpha=0.3)
plt.show()
Seaborn builds on Matplotlib with cleaner defaults and useful statistical plots:
import seaborn as sns
Correlation heatmap:
plt.figure(figsize=(10,8))
sns.heatmap(df.corr(), annot=True, cmap='coolwarm', center=0)
plt.title('Correlation Matrix')
plt.show()
Box plot (to show distribution and outliers):
sns.boxplot(x='Region', y='Revenue', data=df, palette='Set2')
plt.title('Revenue Distribution by Region')
plt.show()
Scatter plot (to show relationship between two variables):
sns.scatterplot(x='Marketing_Spend', y='Revenue', hue='Region', data=df)
plt.show()
The three charts every data analyst must be able to build quickly: a bar chart for comparisons, a line chart for trends, and a heatmap for correlations. These cover 80% of what business stakeholders actually need to see.
07
Python Interview Questions for Data Analyst Roles in India
Here are the most common Python questions asked in data analyst interviews at companies in Delhi NCR in 2026:
Q: What is the difference between a Series and a DataFrame in Pandas?
A: A Series is a one-dimensional labeled array — like a single column of data. A DataFrame is a two-dimensional labeled table — like an Excel spreadsheet with multiple columns. Every column in a DataFrame is a Series.
Q: How do you read a CSV file with Pandas?
A: df = pd.read_csv('filename.csv'). Common additional parameters: sep='|' for pipe-delimited files, encoding='utf-8' for special characters, parse_dates=['Date'] to automatically parse date columns, skiprows=2 to skip header rows.
Q: How do you handle missing values in a DataFrame?
A: First identify them with df.isnull().sum(). Then decide based on the business context: drop with dropna(), fill with a constant using fillna(), or fill with statistical values like mean, median, or mode.
Q: What is the difference between loc and iloc in Pandas?
A: loc selects data by label — the actual row index values and column names. iloc selects by integer position — 0, 1, 2 like array indexing. df.loc[5, 'Revenue'] gets the Revenue value where the index label is 5. df.iloc[5, 3] gets the value at row position 5, column position 3.
Q: How do you merge two DataFrames?
A: pd.merge(df1, df2, on='common_column', how='left'). The how parameter accepts 'left', 'right', 'inner', and 'outer' — same logic as SQL JOINs.
Q: What is groupby and how do you use it?
A: groupby splits data into groups based on a column, then lets you apply aggregation functions to each group. df.groupby('Region')['Revenue'].sum() calculates total revenue per region.
Q: How do you sort a DataFrame?
A: df.sort_values('Revenue', ascending=False) sorts by Revenue from highest to lowest. For multiple columns: df.sort_values(['Region', 'Revenue'], ascending=[True, False]).
12-Week Python Learning Roadmap for Data Analysts
Week 1–2
Setup + Pandas basics
Install Anaconda, learn DataFrames, loading data, head/info/describe, basic filtering and selection
Week 3–4
Data cleaning
Null handling, duplicates, data types, string cleaning, outlier detection on real datasets
Week 5–6
Groupby + Merge + EDA
Aggregations, joining datasets, exploratory analysis workflow on a Kaggle sales dataset
Week 7–8
Matplotlib + Seaborn
Bar charts, line charts, scatter plots, heatmaps — build a mini analysis report
Week 9–10
Real project
End-to-end analysis: load raw e-commerce data, clean it, analyse it, visualise findings, write a 1-page summary
Week 11–12
Interview prep
Practice 30 Python interview questions, review your project for talking points, mock interview
⚠️ Honest advice about Python and data analyst jobs in India
Python alone will not get you a data analyst job in Delhi NCR. Companies hire analysts who can solve business problems — Python is a tool, not a qualification. Build at least one real project where you take raw data, clean it, analyse it, and present findings clearly. A GitHub repo with a well-documented analysis notebook is worth more in an interview than listing "Python" on your resume.
EVIKA ACADEMY · PYTHON FOR DATA ANALYSIS · NOIDA & ONLINE
Learn Python with live guidance and real projects
Our Python for Data Analysis module covers Pandas, NumPy, Matplotlib, EDA and 3 real-world projects with live instructor support.
Book Free Demo →