My First Week in Data Science: Thoughts, Struggles, and Small Wins
So the first week of my Data Science bootcamp is officially done, and I wanted to share what I’ve been working on, what surprised me, and what nearly broke me. Spoiler: there was definitely a “NumPy–Pandas breakdown moment” around Day 3.
Why Data Science?
Let me start with the beginning: why am I even doing this? For me, AI is one of the most exciting things happening right now. I’ve always been an AI optimist, and I truly believe it will dramatically change our lives. I want to be part of that change - not just as a user, but as someone who understands the fundamentals: the data, the models, the pipelines, the decisions behind them.
That’s why I decided to get deeper into data science. I want to know how things work, not just what buttons to click.
Week 1: Python, Python, Python
Most of this week was about warming up with Python. Even though Python is technically a new language for me, after 12+ years of programming, picking up another language didn’t feel like a huge challenge. Python is clean, friendly, and very “do what I mean.”
One thing I especially enjoyed was slice notation. If you don't know what slicing is, here’s a quick example:
arr = [10, 20, 30, 40, 50]
print(arr[1:4]) # [20, 30, 40]
print(arr[:3]) # [10, 20, 30]
print(arr[-2:]) # [40, 50]
It’s such a compact and elegant way to work with arrays. Coming from more verbose languages, this felt… magical.
A Quick Touch of SQL
We also brushed up on SQL. Nothing too wild here—mostly SELECTs, filtering, grouping. Most of it came back quickly, like muscle memory.
SELECT country, AVG(population)
FROM cities
GROUP BY country;
Good fundamentals = no drama.
Day 3: The Great NumPy + Pandas Meltdown
Day 3 was the first moment where I felt lost.
NumPy was okay-ish:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([10, 20, 30])
print(a + b) # array([11, 22, 33])
But then came Pandas, with its unusual notation and its very flexible-but-confusing API.
But Pandas itself is incredible. It gives you a friendly, powerful way to work with tabular data. A DataFrame is basically your best friend when dealing with CSVs, JSONs, or any messy dataset.
Example:
import pandas as pd
df = pd.read_csv("data.csv")
# Filter rows
filtered = df[df["rating"] > 8.0]
# Add a column
df["score_diff"] = df["rating"] * 10 - df["metascore"]
# Grouping
avg_by_genre = df.groupby("genre")["rating"].mean()
Clean. Fast. Expressive.
Pandas shines when you’re cleaning data:
- removing nulls
- converting types
- merging datasets
- handling messy CSVs from random sources
- computing simple statistics
Honestly, Pandas is a superpower. But on Day 3… it did not feel like one.
We had to finish three tasks that day, and the final one completely defeated me. Even ChatGPT couldn't describe the correct solution—so that one is going onto my “revisit later” list.
Days 4–5: Data Scraping & First Mini-Pipeline
The last two days were surprisingly fun.
We worked with:
- Wikipedia
- CSV files
- JSON files
- simple APIs
We even built a tiny API about dog breeds. The pipeline looked something like this:
- Load data (
JSON/CSV) - Slice & clean it with Pandas
- Compute basic statistics (mean, median, sum…)
- Expose it via a simple API
Mini example:
import pandas as pd
from flask import Flask, jsonify
app = Flask(__name__)
df = pd.read_json("dogs.json")
@app.get("/dogs/average-height")
def avg_height():
return {"avg_height": df["height_cm"].mean()}
Nothing too advanced, but enough to make it feel “real.”
Reflections After Week 1
This week reminded me how hard it is to get back into learning after 15 years in the industry. Learning is a skill—and I kind of forgot how to do it.
But I’m slowly picking it up again. Eight more weeks to go.
Next week is supposed to be even more challenging. Not sure if I’ll fully keep up, but that’s the whole point: stretch yourself.
What I’m really looking forward to is actual modeling—machine learning, evaluating models, tuning them, building something interesting.
That’s where the magic happens.
Let’s see how it goes.
See you in Week 2.