You don't need Django, classes or DSA for a data analyst role. You need pandas, and 10 things in it.
Load, look, clean, filter, group, join, pivot, dates, growth, export. That's the job.
Write each one once. Typing beats reading.
Skills 1-4: load, look, clean, filter
- 01
Read any file
df = pd.read_csv('orders.csv') df = pd.read_excel('sales.xlsx')CSV, Excel, even a folder of files.
- 02
Inspect before touching
df.info() df.isna().sum()Types, nulls, ranges. First 2 minutes, always.
- 03
Clean
df = df.drop_duplicates() df['city'] = df['city'].str.strip()Duplicates, blanks, extra spaces, wrong types.
- 04
Filter
df[df['amount'] > 500] df.query("city == 'Pune'")Same as WHERE in SQL.
Skills 5-10: group, join, pivot, ship
- 05
groupby + agg
df.groupby('city').agg( total=('amount', 'sum'), orders=('order_id', 'count'))Your GROUP BY, with named outputs.
- 06
merge
df.merge(cust, on='cust_id', how='left')LEFT JOIN two tables on a key.
- 07
pivot_table
df.pivot_table(index='city', columns='month', values='amount', aggfunc='sum', fill_value=0)Excel pivot, in one line.
- 08
Dates
df['dt'] = pd.to_datetime(df['dt']) df['month'] = df['dt'].dt.monthConvert, then pull month or year.
- 09
MoM growth + running total
m['growth'] = m['sales'].pct_change() df['cum'] = df['amount'].cumsum()The window-function questions, in pandas.
- 10
Hand it over
out.to_excel('report.xlsx')Managers want Excel, not a notebook.
SQL you know, pandas you need
| SQL | pandas |
|---|---|
| WHERE | df[cond] / query() |
| GROUP BY | groupby().agg() |
| LEFT JOIN | merge(how='left') |
| ORDER BY | sort_values() |
| LAG | shift() |
| RANK() | rank() |
Know SQL already? Practise it on real tables in the free SQL playground.