From 51964de52c4c0e1a046d89bd36aa2e7b1aa4c34b Mon Sep 17 00:00:00 2001 From: zimmersandro Date: Thu, 12 Mar 2026 12:30:45 +0100 Subject: [PATCH] feat: tutorial analysis for modules and imports --- src/tutorial/modules_imports/analysis/__init__.py | 0 src/tutorial/modules_imports/analysis/__main__.py | 8 ++++++++ src/tutorial/modules_imports/analysis/csv/sales.csv | 11 +++++++++++ src/tutorial/modules_imports/analysis/io.py | 5 +++++ src/tutorial/modules_imports/analysis/metrics.py | 6 ++++++ src/tutorial/modules_imports/analysis/plotting.py | 0 6 files changed, 30 insertions(+) create mode 100644 src/tutorial/modules_imports/analysis/__init__.py create mode 100644 src/tutorial/modules_imports/analysis/__main__.py create mode 100644 src/tutorial/modules_imports/analysis/csv/sales.csv create mode 100644 src/tutorial/modules_imports/analysis/io.py create mode 100644 src/tutorial/modules_imports/analysis/metrics.py create mode 100644 src/tutorial/modules_imports/analysis/plotting.py diff --git a/src/tutorial/modules_imports/analysis/__init__.py b/src/tutorial/modules_imports/analysis/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/tutorial/modules_imports/analysis/__main__.py b/src/tutorial/modules_imports/analysis/__main__.py new file mode 100644 index 0000000..6fba122 --- /dev/null +++ b/src/tutorial/modules_imports/analysis/__main__.py @@ -0,0 +1,8 @@ +from analysis.io import read_csv +from analysis.metrics import revenue + +if __name__ == "__main__": + df = read_csv("analysis/csv/sales.csv") + print(df) + df = revenue(df) + print(df) diff --git a/src/tutorial/modules_imports/analysis/csv/sales.csv b/src/tutorial/modules_imports/analysis/csv/sales.csv new file mode 100644 index 0000000..5775461 --- /dev/null +++ b/src/tutorial/modules_imports/analysis/csv/sales.csv @@ -0,0 +1,11 @@ +day,product,quantity,unit_price,region +Mon,Notebook,3,899.0,West +Mon,Mouse,12,25.0,West +Tue,Notebook,2,899.0,Ost +Tue,Keyboard,5,70.0,Ost +Wed,Monitor,4,220.0,West +Wed,Mouse,10,25.0,Nord +Thu,Keyboard,6,70.0,Sued +Thu,Monitor,3,220.0,Ost +Fri,Notebook,1,899.0,Nord +Fri,Mouse,15,25.0,Sued diff --git a/src/tutorial/modules_imports/analysis/io.py b/src/tutorial/modules_imports/analysis/io.py new file mode 100644 index 0000000..917123e --- /dev/null +++ b/src/tutorial/modules_imports/analysis/io.py @@ -0,0 +1,5 @@ +import pandas as pd + + +def read_csv(file: str) -> pd.DataFrame: + return pd.read_csv(file) diff --git a/src/tutorial/modules_imports/analysis/metrics.py b/src/tutorial/modules_imports/analysis/metrics.py new file mode 100644 index 0000000..1923e84 --- /dev/null +++ b/src/tutorial/modules_imports/analysis/metrics.py @@ -0,0 +1,6 @@ +import pandas as pd + + +def revenue(df: pd.DataFrame) -> pd.DataFrame: + revenue = df["quantity"] * df["unit_price"] + return revenue.groupby("day").sum() diff --git a/src/tutorial/modules_imports/analysis/plotting.py b/src/tutorial/modules_imports/analysis/plotting.py new file mode 100644 index 0000000..e69de29