module 8 ex1 + ex2 WIP

This commit is contained in:
2026-03-07 18:52:18 +01:00
parent 819075d5d9
commit 76206c8ac8
9 changed files with 1271 additions and 0 deletions

60
08/ex1/loading.py Normal file
View File

@@ -0,0 +1,60 @@
from importlib.metadata import PackageNotFoundError, version
from numpy import ndarray
from pandas import pandas as pd
import matplotlib.pyplot as plt
from os import mkdir
def check_package(packages: dict[str, str]) -> bool:
print("Checking dependencies:")
imported = 0
for package in packages:
try:
print(f"[\u001b[32mOK\u001b[0m] {package}\
({version(package)}) - {packages[package]} ready")
imported += 1
except PackageNotFoundError:
print(f"[\u001b[31mKO\u001b[0m] {package} -\
{packages[package]} not ready")
return imported == len(packages)
def analyze(data: ndarray) -> None:
print("Processing 1000 data points...")
x = data[:, 0]
y = data[:, 1].astype(float)
plt.figure(figsize=(8, 8), dpi=1200)
plt.plot(x, y)
try:
mkdir("matrix")
except Exception:
pass
print("Generating visualization...\n")
plt.savefig("matrix/_analysis.png")
print("Analysis complete!")
print("Results saved to: matrix/_analysis.png}")
def main() -> None:
print("\nLOADING STATUS: Loading programs...\n")
if check_package(
{
"pandas": "Data manipulation",
"numpy": "mathematics manipulation",
"matplotlib": "Visualization",
}
):
try:
print("\nAnalyzing Matrix data...")
data = pd.read_csv("meteo.csv", parse_dates=["time"]).to_numpy()
analyze(data)
except FileNotFoundError:
print("File not found")
except Exception as err:
print(err)
else:
print("\nPackages not installed")
if __name__ == "__main__":
main()