Skip to content

Instantly share code, notes, and snippets.

View TJMac93's full-sized avatar
๐Ÿ“Š
Data Science blogging in R & Python

Tom MacNamara TJMac93

๐Ÿ“Š
Data Science blogging in R & Python
View GitHub Profile
@TJMac93
TJMac93 / polars_expressions.py
Created August 5, 2025 15:17
How to use generic polars expressions and register new ones.
import polars as pl
df1 = pl.DataFrame({"A":[1,2 ,3 ,4 ,5 ,6], "B":[1,5,9,1,2,3]})
df2 = pl.DataFrame({"A":[5,10,15,20,25,30], "B":[1,5,9,1,2,3]})
dbl_expr = pl.col("A") * 2
sq_expr = pl.col("A") ** 2
df1.with_columns(dbl_A = dbl_expr,
sq_A = sq_expr)
@TJMac93
TJMac93 / class_logger.py
Last active June 28, 2024 14:38
Logger to record the use of class methods. Use as decorator above method def and init class with verbose=True
# Logger gist available here:
# https://gist.github.com/TJMac93/cc17e0aa4546723cfba0d7165dbd9651
from functools import wraps
from .logger import logger
import pandas as pd
def log_step(func):
@wraps(func)
def wrapper(*args, **kwargs):
@TJMac93
TJMac93 / logging_decorator.py
Last active June 18, 2024 12:08
Decorator function to add logging to other functions.
# Logger gist available here:
# https://gist.github.com/TJMac93/cc17e0aa4546723cfba0d7165dbd9651
from logger import logger
from functools import wraps
def main():
def log_dec(func):
@wraps(func)
def wrapper(*args, **kwargs):
@TJMac93
TJMac93 / logger.py
Created February 14, 2023 14:40
Simple logger to report filename and incident
import logging
logger = logging.getLogger(__name__)
# Handler determines where the logs are output
file_handler = logging.FileHandler("./history.log")
shell_handler = logging.StreamHandler()
# Set levels
logger.setLevel(logging.DEBUG)