`.query()` for filtering (cleaner in chains than bracket notation) - `.assign()` for new columns (returns new DataFrame, doesn't modify in place) - `.pipe(func)` for custom functions that take a DataFrame and return a DataFrame