Glosario
Plain-language definitions of the core concepts behind learning to code with data.
Featured term
A SQL JOIN combines rows from two or more tables based on a related column between them, usually a key. It lets you bring together data that lives in separate tables — for example customers and their orders — into a single query result.
SELECT c.name, o.total FROM orders o JOIN customers c ON c.id = o.customer_id;
Exception handling is Python's mechanism (try/except) for reacting to runtime errors without the program crashing outright. Risky code is wrapped in a try block, and the except block catches and responds to whatever error type occurs.
A list comprehension is Python's compact syntax for building a new list by applying an expression to every item of an iterable, with an optional conditional filter. It replaces the pattern of creating an empty list and using a for loop with append to fill it.
Object-oriented programming (OOP) is a programming style that organizes code into classes — templates combining data (attributes) and behavior (methods) — and objects, which are concrete instances of those classes. Python supports it natively alongside other styles, like functional programming.
A type hint is an optional Python annotation that states the expected type of a variable, parameter, or return value — for example def add(a: int, b: int) -> int. Python doesn't enforce them at runtime, but tools like mypy or your editor use them to catch bugs before the code ever runs.
A unit test is a piece of code that automatically checks a small function or method behaves as expected, given a known set of inputs. It runs repeatably and in isolation, without depending on a real database or external services.
A virtual environment is an isolated Python installation with its own set of packages, independent of the system-wide installation. It lets different projects use different versions of the same library without conflicting with each other.
CSV (comma-separated values) is a plain-text file format for storing tabular data, where each line is a row and columns are separated by a delimiter character, usually a comma. It's one of the most common formats for exchanging data between spreadsheets, databases, and analysis scripts.
A DataFrame is a two-dimensional, table-like data structure — similar to a spreadsheet — with labeled rows and named columns that can each hold a different data type. It is the central object of Python's pandas library and the usual way to load, clean and analyze tabular data.
A NumPy array (ndarray) is a data structure that stores elements of the same type in a grid of one or more dimensions, optimized for vectorized mathematical operations. It's the foundation pandas and most of Python's scientific libraries are built on.
A CTE (Common Table Expression) is a named temporary result defined with WITH at the start of a SQL query, which can be referenced as if it were a table within that same query. It's used to break complex queries into readable steps.
A foreign key is a column in one table that points to another table's primary key, establishing a relationship between the two. It's the mechanism relational databases use to connect, for example, each order with the customer who placed it.
GROUP BY is a SQL clause (and an equivalent method in pandas) that groups rows sharing the same value in one or more columns, so an aggregate function like COUNT, SUM, or AVG can be applied to each group separately. It's the backbone of almost any summary report.
A SQL JOIN combines rows from two or more tables based on a related column between them, usually a key. It lets you bring together data that lives in separate tables — for example customers and their orders — into a single query result.
A primary key is a column, or combination of columns, that uniquely identifies each row in a database table. It cannot repeat or be empty (NULL), and it's usually generated automatically as an integer or a UUID.
A SQL window function computes a value across a set of related rows — its 'window' — without collapsing them into a single row the way GROUP BY does. It lets you calculate, for example, a ranking or a moving average while keeping every original row visible in the result.
Feature engineering is the process of creating, transforming, or selecting the input variables (features) a machine learning model will use to learn, with the goal of better capturing the pattern you want to predict. It often has more impact on the final model's quality than the algorithm you choose.
Gradient descent is an optimization algorithm that iteratively adjusts a model's parameters in the direction that most reduces its error, computed from the gradient (the slope) of a loss function. It's the engine behind training most machine learning models and neural networks.
A hyperparameter is a machine learning model setting fixed BEFORE training it — like the learning rate or a decision tree's maximum depth — as opposed to the model's parameters (for example a neural network's weights), which are learned automatically during training.
A large language model (LLM) is a neural network trained on huge amounts of text to predict the next word (or token) in a sequence, and which as a result gains the ability to generate coherent text, answer questions, translate, and follow instructions. GPT and Llama are well-known examples.
Linear regression is a statistical model that describes the relationship between a numeric variable you want to predict (the dependent variable) and one or more explanatory variables, assuming that relationship is a straight line. It's one of the simplest, most interpretable models in both statistics and machine learning.
Overfitting happens when a model learns the training data in so much detail — including its noise and quirks — that it loses the ability to generalize to new data it hasn't seen. It shows up when a model performs very well on training data but much worse on test data.
Prompt engineering is the practice of designing and refining the instructions given to a language model to get more accurate, useful, or correctly formatted responses, without modifying the model itself. It includes techniques like giving examples, asking for step-by-step reasoning, or setting a specific role.
Data cleaning is the process of detecting and fixing missing, duplicated, badly formatted, or inconsistent values in a dataset before analyzing it. It usually consumes most of the time in a real data analysis project.
Data visualization is the graphical representation of information — through bar charts, line charts, scatter plots, heatmaps, and similar — to make patterns, trends, and anomalies easier to spot than in a table of numbers. It's both a personal exploration tool and a way to communicate with other people.
ETL (Extract, Transform, Load) is the process of moving data from its sources into an analytical destination, cleaning and reshaping it along the way. It's the backbone of most data pipelines: raw data is extracted first, then transformed (cleaned, joined, aggregated), and finally loaded into a warehouse where it can be analyzed.
A Docker container is a lightweight, runnable package that bundles an application together with all its dependencies — libraries, environment variables, configuration — so it runs the same way on any machine that has Docker installed. It solves the classic 'it works on my machine' problem.
A REST API is an interface that lets two programs talk over HTTP, using URLs to identify resources and verbs like GET, POST, PUT and DELETE to act on them. It is the most common style for exposing data and functionality on the web, and it usually exchanges information as JSON.