A Pandas notebook becomes a reviewable internship deliverable when a stranger can open it, understand the question, see every assumption, rerun it top to bottom and reach the same numbers. Code cleverness matters very little; structure, labelled decisions and a short README matter a great deal. This guide gives you a notebook template, a README outline, a 14-day plan and a clarity-based rubric a mentor can use.
Why a notebook needs more than working code
Most student notebooks fail review for the same reason: they record what the author did in the order they stumbled into it. Cells run out of order, a column is silently dropped in cell 37, and the chart in the last cell depends on a variable overwritten earlier. The analysis may be right, but the reviewer cannot tell, so they cannot trust it.
A reviewable notebook answers five questions without being asked:
- What question is this analysis trying to answer, and for whom?
- What data went in, where did it come from, and what is its shape?
- What did you change, drop or assume, and why?
- What did you find, in plain sentences, with the numbers that support it?
- How can I run it myself?
If you are doing the free two-week online internship from CareerSwami, the notebook and README are the natural thing to submit for mentor feedback, since a two-week window rewards a small, finished, readable piece over a sprawling one.
The notebook-structure template, section by section
Use these headings in this order. Each is a Markdown heading cell, so the notebook’s outline panel works as a table of contents.
| # | Heading | What goes in it | What a reviewer checks |
|---|---|---|---|
| 0 | Title and summary | Project title, your name, date, a three-line summary of the question and the main finding | Can I grasp the purpose in 30 seconds? |
| 1 | Business question | One precise question, the decision it supports, and the metric that answers it | Is the question specific and measurable? |
| 2 | Data description | Source, licence or access note, row and column counts, a data dictionary table, collection period | Do I know what each column means? |
| 3 | Assumptions and limits | A numbered list of assumptions, known data gaps, what the analysis cannot claim | Are choices stated, not hidden? |
| 4 | Setup and reproducibility | Imports, library versions, random seed, file paths in one config cell | Will it run on my machine? |
| 5 | Data loading and first checks | Load, shape, dtypes, missing counts, duplicates |
Was the raw data inspected before changes? |
| 6 | Cleaning log | Each cleaning step with a sentence on why, and rows affected before and after | Can I trace every changed value? |
| 7 | Exploration | Groupings, distributions, comparisons, each ending with a one-line takeaway | Does each chart or table say something? |
| 8 | Findings | Three to five findings in plain English with the supporting figures | Do findings match the numbers above? |
| 9 | Recommendations and next steps | What the reader should do, plus what you would check next | Is it actionable and honest about limits? |
Writing the assumptions section so it does real work
Weak assumptions read like “data is clean”. Strong ones are specific and testable. Illustrative examples:
- Rows with a null
order_valueare treated as cancelled orders and excluded; this removes a share of rows that the cleaning log reports. - Dates are treated as local time; no timezone conversion was applied.
- Duplicate
order_idvalues are treated as accidental repeats, and the first occurrence is kept. - Outliers above a stated threshold are kept but flagged, because there is no evidence they are errors.
Whenever a later cell depends on an assumption, mention its number in a comment or Markdown line, for example “see Assumption 2”. That cross-reference is what lets a mentor audit your reasoning quickly.
Making the notebook reproducible
Reproducibility here means practical, checkable habits rather than anything elaborate:
- Put all imports and file paths in one setup cell at the top.
- Print library versions (
pd.__version__,np.__version__) so the reader knows the environment. - Use relative paths such as
data/raw/orders.csv, neverC:\Users\yourname\.... - Set a seed wherever you sample or split data.
- Never edit the raw file. Write cleaned output to a separate folder.
- Before submitting, choose Restart Kernel and Run All. If anything errors, fix it. A notebook that only works in the order you clicked cells is not finished.
- Add a
requirements.txtlisting the packages you used.
Free 2-Week CareerSwami Internship
Online, 14 days, with a free offer letter and a free completion certificate once you finish the work. Check with your college that it fits your requirement before you enrol.
The README every notebook should ship with
The README is the front door. Keep it to one screen of text. Suggested outline:
# Project title
One-sentence purpose.
## Question
The business question and the metric used.
## Data
Source, date range, size, and where the file sits in the folder.
## How to run
1. Create an environment and run: pip install -r requirements.txt
2. Place the raw file in data/raw/
3. Open notebooks/analysis.ipynb and choose Restart and Run All
## Folder layout
data/raw, data/clean, notebooks, README.md, requirements.txt
## Key findings
Three bullets with numbers.
## Assumptions and limitations
Short list, linking to the notebook section.
## Author and date
If the dataset is large or restricted, do not upload it. Describe how to obtain it instead and say so in the README.
A mentor-review rubric that scores clarity, not cleverness
This rubric awards points for what a reader can understand and verify. A one-line list comprehension scores no higher than three plain lines. Score each row from 0 to 4 (0 = absent, 2 = partial, 4 = fully met), for a maximum of 40.
| Criterion | 4 points looks like | 0 to 1 point looks like |
|---|---|---|
| Question clarity | One specific question, a named decision and a metric | “Analyse the dataset” |
| Data description | Source, size and a data dictionary included | Columns never explained |
| Assumptions stated | Numbered, specific, referenced later | None, or generic (“data is clean”) |
| Cleaning traceability | Each step has a reason and row counts before and after | Silent drops and overwrites |
| Narrative flow | Headings and a takeaway sentence after each output | Long runs of code with no text |
| Chart and table readability | Titles, axis labels, units, one point per chart | Unlabelled default plots |
| Findings match evidence | Every claim ties to a visible number | Claims the outputs do not support |
| Reproducibility | Restart and Run All succeeds; versions and seed noted | Errors, absolute paths, hidden state |
| README quality | A stranger can run the notebook from the README alone | Missing or only a title |
| Honesty about limits | States what the data cannot show and next steps | Overstated conclusions |
- 34 to 40: ready to share as a portfolio piece.
- 24 to 33: sound; fix the lowest two rows and resubmit.
- Below 24: restructure using the template before polishing anything else.
Students can self-score first, then compare with a mentor’s scores. Gaps between the two numbers show where you assume the reader knows more than they do.
Worked example: tidying a messy sales notebook
This example is illustrative; the data and numbers are invented, and no code was run for this article.
Imagine a notebook analysing a small retailer’s monthly orders. The first draft has 60 cells, no headings, and one cell that reads df = df[df.value > 0] with no comment. The final chart is titled “Figure 1”.
Revision steps:
- Add the question. “Which product categories drove the fall in repeat orders between two quarters, so the retailer can decide where to target offers?”
- Explain the filter. Replace the silent line with a Markdown note: “Assumption 2: orders with zero or negative value are refunds and excluded.” Then print rows before and after, for example
print(len(df_before), len(df_after)). - Add takeaways. After the category grouping table, write one line: “Category A has the largest drop in repeat orders; the others are within a narrow band.”
- Fix the chart. Title it with the finding, label axes with units, and sort bars by value.
- Test the rerun. Restart and Run All. If a cell fails because it used a variable defined later, move the definition up.
- Write the README with a how-to-run block and three findings.
On the rubric, the draft might score around 12 of 40, mostly from the analysis itself. The revision, with no new analysis, could plausibly reach the low 30s, because the gains come from structure, traceability and documentation.
A 14-day plan for a notebook deliverable
A two-week internship leaves little room for rework, so schedule the documentation early rather than saving it for the last day.
| Days | Focus | Output |
|---|---|---|
| 1-2 | Choose dataset, write the question and metric | Sections 0 to 2 drafted |
| 3-4 | Load, inspect, document missing values and duplicates | Sections 4 and 5, first assumptions |
| 5-6 | Cleaning with a log | Section 6 complete |
| 7-9 | Exploration with takeaways | Section 7, draft charts |
| 10 | Write findings and recommendations | Sections 8 and 9 |
| 11 | Restart and Run All, fix errors, add requirements.txt | Reproducible notebook |
| 12 | Write README, self-score on the rubric | README and scorecard |
| 13 | Mentor or peer review, fix lowest-scoring rows | Revised notebook |
| 14 | Final run, tidy folders, export a PDF or HTML copy | Submission package |
JUIT students: where a Pandas notebook fits alongside the industrial training rules
JUIT’s industrial training page says each B.Tech student completes a six-week industrial training in the summer after the sixth semester, run in June and July and finished before registration for the next semester. A 14-day online internship is shorter than that, and the pages read do not address online or virtual internships, so do not assume a short internship counts toward the requirement. Treat it as extra practice and portfolio evidence unless your department says otherwise.
The same page describes what the department reviews: a training diary kept daily with the supervisor’s signature, a report of 10 pages (A4, Times New Roman 12 pt, double-spaced), and a certificate. A panel of two or three examiners appointed by the Head of Department evaluates the report and diary. The page gives no credit value or grading scheme. A well-structured notebook helps here in a practical way: its section headings, cleaning log and findings can become the skeleton of a report, and the dated work in your 14-day plan can feed diary entries. Check the page’s current wording, since it carries no document year.
Under the 2017 ordinances, successful completion of the Industrial Internship is a B.Tech degree requirement, so the stakes for the formal training are real. The ordinances are from 2017, so confirm the current version. For help with placement and recommendation letters, the T&P Cell page describes the cell’s counselling and interview arrangements.
Verification steps for JUIT students
- Email your Head of Department and ask in writing whether an online internship can count toward the six-week industrial training, and under what conditions.
- Ask whether a Jupyter notebook and README may be attached as supporting material to the report, and in what format.
- Re-read the current industrial training page for the diary, report and certificate requirements before the viva-voce.
- Ask the T&P Cell, using the placement contact page (check names, as the page may have changed), who issues and collects the training diary and certificate.
- Ask your department whether the dataset you plan to use can be shared publicly, if you intend to upload to GitHub.
Presenting the notebook to a reviewer
When you send the work, include a short cover message with three items: the folder or link, the question in one sentence, and the two areas where you most want feedback. Directing the reviewer saves their time and produces more useful comments than “please check”.
- Export an HTML or PDF copy so the reviewer can read it without installing anything.
- Keep the file name descriptive, such as
retail_repeat_orders_analysis.ipynb. - Clear any output containing personal data before sharing.
- State the rubric score you gave yourself and why.
Frequently Asked Questions
Should I use a Jupyter notebook or a plain Python script?
For an analysis a mentor will read, a notebook is usually better, because narrative text, tables and charts sit together. Put reusable cleaning functions in a small .py file only if the notebook becomes long.
How long should a reviewable notebook be?
Long enough to answer the question, short enough to read in one sitting. For a 14-day internship, roughly 25 to 45 cells with clear headings is a reasonable target, though there is no official rule.
Do I need to explain every line of Pandas code?
No. Explain decisions, not syntax. A comment on why you dropped rows is valuable; a comment saying “this loads the file” is noise.
What if my notebook does not rerun cleanly?
Restart the kernel and run all cells in order, then fix the first error. Usual causes are cells run out of order, variables defined later, absolute file paths and missing packages.
Can the CareerSwami internship notebook replace the JUIT industrial training?
Do not assume so. JUIT’s published page describes a six-week summer training after semester 6, and the pages read do not mention online internships. Ask your Head of Department in writing.
Which dataset should I choose?
Pick one with a clear business context, a few thousand rows, a mix of numeric and categorical columns and some mess, such as nulls or duplicates. Check its licence before publishing your work.
Should I upload the notebook to GitHub?
It is a good portfolio habit, provided the data is shareable and no personal information remains in outputs. Include the README and requirements.txt so visitors can run it.
How do I use the rubric for self-review?
Score yourself honestly the day before submission, circle the two lowest rows, and fix only those. Then ask a mentor or peer to score independently and compare.
Related Data Analytics guides
- Gujarat Vidyapith Students: Using Field Survey Data for a Data Analytics Internship Project
- Nirwan University Students: Writing Data Analytics Internship Resume Lines That Show Impact
- Vanita Vishram Women's University: Building Confidence in Your First Data Analytics Team Meeting
- All Data Analytics internship guides
Ready to put this into practice?
Join the free two-week CareerSwami online internship in Data Analytics. The internship, the offer letter and the completion certificate are free.














