From c15c69c0329e94e4bc2e587dcbe71aef8167e501 Mon Sep 17 00:00:00 2001 From: toravest Date: Thu, 22 May 2025 17:01:30 +0200 Subject: [PATCH] change output folder for json and figures --- .gitignore | 2 +- notebooks/notebook_compare_one_day_data.ipynb | 13 +++++----- .../notebook_compare_one_week_data.ipynb | 13 +++++----- .../notebook_compare_statistic_data.ipynb | 17 +++++++----- notebooks/notebook_current_data.ipynb | 11 +++++--- notebooks/notebook_interactive_data.ipynb | 26 +++++++++++++++---- notebooks/notebook_one_day_data.ipynb | 15 +++++++---- notebooks/notebook_one_week_data.ipynb | 16 +++++++----- notebooks/notebook_statistic_data.ipynb | 20 +++++++++----- src/my_package/data.py | 6 ++--- src/my_package/util.py | 2 +- 11 files changed, 90 insertions(+), 51 deletions(-) diff --git a/.gitignore b/.gitignore index a733132..d052307 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,6 @@ *.pyc /venv/ .env -/data/output*/ +data/*/output*/ old_* .DS_Store \ No newline at end of file diff --git a/notebooks/notebook_compare_one_day_data.ipynb b/notebooks/notebook_compare_one_day_data.ipynb index e9f1bec..657b63d 100644 --- a/notebooks/notebook_compare_one_day_data.ipynb +++ b/notebooks/notebook_compare_one_day_data.ipynb @@ -154,8 +154,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen \"../data/output_sammenligning_dag/data_{filnavn}.json\"" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen `../data/json/output_compare_one_day/data_{filnavn}.json`" ] }, { @@ -179,7 +180,7 @@ "from my_package.data import write_data\n", "\n", "# Overwrites the folder stored inside the function\n", - "folder = \"../data/output_sammenligning_dag\"\n", + "folder = \"../data/json/output_compare_one_day\"\n", "\n", "filename = input(\"Write filename: \")\n", "\n", @@ -210,7 +211,7 @@ "import json\n", "from pandasql import sqldf\n", "\n", - "file_path = f'../data/output_sammenligning_dag/data_{filename}.json'\n", + "file_path = f'../data/json/output_compare_one_day/data_{filename}.json'\n", "\n", "from my_package.data import extract_city_df\n", "\n", @@ -407,7 +408,7 @@ "\n", "I grafen under ser vi oversikt over nedbør for begge stedene sammenlignet 'side om side'. Vi skiller også mellom snø og regn, og dersom det skulle snø og regne i samme time, vil de bare 'stables' oppå hverandre.\n", "\n", - "Grafen lagres i mappen \"../data/output_fig_sammenligning\"" + "Grafen lagres i mappen `../data/figures/output_fig_compare_one_day`" ] }, { @@ -421,7 +422,7 @@ "import os\n", "\n", "# Where the figure should be saved when exported\n", - "output_folder = \"../data/output_fig_sammenligning\"\n", + "output_folder = \"../data/figures/output_fig_compare_one_day\"\n", "\n", "# Creates the folder if it does not exist\n", "os.makedirs(output_folder, exist_ok=True)\n", diff --git a/notebooks/notebook_compare_one_week_data.ipynb b/notebooks/notebook_compare_one_week_data.ipynb index 2b83191..f1a9a6d 100644 --- a/notebooks/notebook_compare_one_week_data.ipynb +++ b/notebooks/notebook_compare_one_week_data.ipynb @@ -146,8 +146,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen `../data/output_sammenligning_uke/data_{filnavn}.json`" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen `../data/json/output_compare_one_week/data_{filnavn}.json`" ] }, { @@ -172,7 +173,7 @@ "from my_package.data import write_data\n", "\n", "# Overwrites the folder stored inside the function\n", - "folder = \"../data/output_sammenligning_uke\"\n", + "folder = \"../data/json/output_compare_one_week\"\n", "\n", "filename = input(\"Write filename: \")\n", "\n", @@ -205,7 +206,7 @@ "import json\n", "from pandasql import sqldf\n", "\n", - "file_path = f'../data/output_sammenligning_uke/data_{filename}.json'\n", + "file_path = f'../data/json/output_compare_one_week/data_{filename}.json'\n", "\n", "from my_package.data import extract_city_df\n", "\n", @@ -413,7 +414,7 @@ "\n", "I grafen under ser vi oversikt over nedbør for begge stedene sammenlignet 'side om side'. Vi skiller også mellom snø og regn, og dersom det skulle snø og regne i samme time, vil de bare 'stables' oppå hverandre.\n", "\n", - "Grafen lagres i mappen \"../data/output_fig_sammenligning\"" + "Grafen lagres i mappen `../data/figures/output_fig_compare_one_week`" ] }, { @@ -428,7 +429,7 @@ "import os\n", "\n", "# Where the figure should be saved when exported\n", - "output_folder = \"../data/output_fig_sammenligning\"\n", + "output_folder = \"../data/figures/output_fig_compare_one_week\"\n", "\n", "# Creates the folder if it does not exist\n", "os.makedirs(output_folder, exist_ok=True)\n", diff --git a/notebooks/notebook_compare_statistic_data.ipynb b/notebooks/notebook_compare_statistic_data.ipynb index c2bc20f..77afeb1 100644 --- a/notebooks/notebook_compare_statistic_data.ipynb +++ b/notebooks/notebook_compare_statistic_data.ipynb @@ -93,8 +93,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen `./data/output_sammenligning_statistikk/data_{filnavn}.json`\n" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen `./data/json/output_compare_statistic/data_{filnavn}.json`\n" ] }, { @@ -119,7 +120,7 @@ "from my_package.data import write_data\n", "\n", "# Overwrites the folder stored inside the function\n", - "folder = \"../data/output_sammenligning_statistikk\"\n", + "folder = \"../data/json/output_compare_statistic\"\n", "\n", "filename = input(\"Write filename: \")\n", "\n", @@ -149,7 +150,7 @@ "import json\n", "from pandasql import sqldf\n", "\n", - "file_path = f'../data/output_sammenligning_statistikk/data_{filename}.json'\n", + "file_path = f'../data/json/output_compare_statistic/data_{filename}.json'\n", "\n", "from my_package.data import extract_city_data_stat\n", "\n", @@ -269,7 +270,9 @@ "metadata": {}, "source": [ "### Plotter data\n", - "Her plottes temperatur og regn på samme akse, med vind i en egen graf under, men de deler samme x-akse, som er month_date." + "Her plottes temperatur og regn på samme akse, med vind i en egen graf under, men de deler samme x-akse, som er month_date.\n", + "\n", + "Grafen lagres i mappen `../data/figures/output_fig_compare_statistic`" ] }, { @@ -279,7 +282,7 @@ "metadata": {}, "outputs": [], "source": [ - "output_folder = \"../data/output_fig\"\n", + "output_folder = \"../data/figures/output_fig_compare_statistic\"\n", "os.makedirs(output_folder, exist_ok=True) # Create the folder if it doesn't exist\n", "\n", "temp_city_1 = sqldf('''SELECT `temp.mean_celsius` FROM both_cities_df WHERE city = \"city_1\"''')\n", @@ -297,7 +300,7 @@ "wind_city_1 = sqldf('''SELECT `wind.mean` FROM both_cities_df WHERE city = \"city_1\"''').iloc[:,0]\n", "wind_city_2 = sqldf('''SELECT `wind.mean` FROM both_cities_df WHERE city = \"city_2\"''').iloc[:,0]\n", "\n", - "x_axis = city_1_df['month_day']\n", + "x_axis = city_1_df.index\n", "\n", "fig, (ax1, ax3) = plt.subplots(2, 1, figsize = (15, 8), sharex=True)\n", "\n", diff --git a/notebooks/notebook_current_data.ipynb b/notebooks/notebook_current_data.ipynb index 4b03c06..0352dca 100644 --- a/notebooks/notebook_current_data.ipynb +++ b/notebooks/notebook_current_data.ipynb @@ -50,8 +50,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen \"../data/output_current/data_{filnavn}.json\"\n", + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen \"../data/json/output_current/data_{filnavn}.json\"\n", "\n" ] }, @@ -64,6 +65,8 @@ "# Gets the absolute path to the src folder\n", "sys.path.append(os.path.abspath(\"../src\"))\n", "\n", + "folder = \"../data/json/output_current/\"\n", + "\n", "from my_package.data import write_data\n", "\n", "# The user choose the filename\n", @@ -91,7 +94,7 @@ "import json\n", "\n", "# Read from the json-file\n", - "with open(f\"../data/output_current_data/data_{filename}.json\", \"r\") as file:\n", + "with open(f\"../data/json/output_current/data_{filename}.json\", \"r\") as file:\n", " data = json.load(file)\n", "\n", "# Display data\n", @@ -178,7 +181,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.12.5" } }, "nbformat": 4, diff --git a/notebooks/notebook_interactive_data.ipynb b/notebooks/notebook_interactive_data.ipynb index ebed076..9f248af 100644 --- a/notebooks/notebook_interactive_data.ipynb +++ b/notebooks/notebook_interactive_data.ipynb @@ -118,8 +118,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen \"../data/output_stedsnavn/data_{filnavn}.json\"" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen `../data/json/output_interactive/data_{filnavn}.json`" ] }, { @@ -131,6 +132,8 @@ "# Gets the absolute path to the src folder\n", "sys.path.append(os.path.abspath(\"../src\"))\n", "\n", + "folder = \"../data/json/output_interactive\"\n", + "\n", "from my_package.data import write_data\n", "\n", "filename = input(\"Write filename: \")\n", @@ -157,7 +160,7 @@ "import pandas as pd\n", "\n", "# Reads from file using pandas\n", - "weather_data = pd.read_json(f'../data/output_stedsnavn/data_{filename}.json')\n", + "weather_data = pd.read_json(f'../data/json/output_interactive/data_{filename}.json')\n", "#output_stedsnavn\n", "from my_package.data import extract_city_df\n", "\n", @@ -173,7 +176,9 @@ "Regner ut gjennomsnittst-temperatur ved hjelp av innebygde funksjoner. Finner også høyeste og laveste målte temperatur.\n", "Plotter gjennomsnittstemperaturen og temperaturen per time for dagen valgt, ved hjelp av matplotlib.\n", "\n", - "Ved hjelp av ipywidgets så er dette et interaktivt diagram som brukeren selv kan justere på ønskelige effekter ved diagrammet. Når koden først kjøres vil det komme standard layout men disse er det bare å endre, for eksempel farge og størrelse på plots. " + "Ved hjelp av ipywidgets så er dette et interaktivt diagram som brukeren selv kan justere på ønskelige effekter ved diagrammet. Når koden først kjøres vil det komme standard layout men disse er det bare å endre, for eksempel farge og størrelse på plots. \n", + "\n", + "Grafen lagres i mappen `../data/figures/output_fig_interactive`" ] }, { @@ -199,6 +204,12 @@ "dot_size = widgets.IntSlider(value=40, min=10, max=100, step=5, description='Punktstørrelse')\n", "\n", "def plot_temp(show_mean, show_grid, dot_color, mean_color, dot_size):\n", + " # Where the figure should be saved when exported\n", + " output_folder = \"../data/figures/output_fig_interactive\"\n", + "\n", + " # Creates the folder if it does not exist\n", + " os.makedirs(output_folder, exist_ok=True)\n", + " \n", " clear_output(wait=True)\n", "\n", " temp_mean = temp.mean().round(2)\n", @@ -226,6 +237,11 @@ " if show_grid:\n", " plt.grid()\n", "\n", + " # Save the plot to the data/output_fig folder\n", + " plot_path = os.path.join(output_folder, f\"weather_interactive_plot_{city_name}.png\")\n", + " # Save the plot as a PNG file\n", + " plt.savefig(plot_path)\n", + "\n", " plt.legend(loc='upper right')\n", " plt.show()\n", "\n", @@ -262,7 +278,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.12.5" } }, "nbformat": 4, diff --git a/notebooks/notebook_one_day_data.ipynb b/notebooks/notebook_one_day_data.ipynb index 6178c29..2cf095c 100644 --- a/notebooks/notebook_one_day_data.ipynb +++ b/notebooks/notebook_one_day_data.ipynb @@ -118,8 +118,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen \"../data/output_stedsnavn/data_{filnavn}.json\"" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen `../data/json/output_one_day/data_{filnavn}.json`" ] }, { @@ -131,6 +132,8 @@ "# Gets the absolute path to the src folder\n", "sys.path.append(os.path.abspath(\"../src\"))\n", "\n", + "folder = \"../data/json/output_one_day\"\n", + "\n", "from my_package.data import write_data\n", "\n", "filename = input(\"Write filename: \")\n", @@ -157,7 +160,7 @@ "import pandas as pd\n", "\n", "# Reads from file using pandas\n", - "weather_data = pd.read_json(f'../data/output_stedsnavn/data_{filename}.json')\n", + "weather_data = pd.read_json(f'../data/json/output_one_day/data_{filename}.json')\n", "\n", "from my_package.data import extract_city_df\n", "\n", @@ -359,7 +362,9 @@ "\n", "Temperatur og nedbør får plass i samme graf, hvor man leser temperatur verdiene på venstre side, og nedbørsverdiene på høyre side.\n", "\n", - "I grafen under, men på samme x-akse, finner vi informasjon om vind, både vindhastighet og vindkast." + "I grafen under, men på samme x-akse, finner vi informasjon om vind, både vindhastighet og vindkast.\n", + "\n", + "Grafen lagres i mappen `../data/figures/output_fig_one_day`" ] }, { @@ -373,7 +378,7 @@ "import os\n", "\n", "# Where the figure should be saved when exported\n", - "output_folder = \"../data/output_fig\"\n", + "output_folder = \"../data/figures/output_fig_one_day\"\n", "\n", "# Creates the folder if it does not exist\n", "os.makedirs(output_folder, exist_ok=True)\n", diff --git a/notebooks/notebook_one_week_data.ipynb b/notebooks/notebook_one_week_data.ipynb index 29c59a8..37cc5e0 100644 --- a/notebooks/notebook_one_week_data.ipynb +++ b/notebooks/notebook_one_week_data.ipynb @@ -104,9 +104,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen \"../data/output_stedsnavn/data_{filnavn}.json\"\n", - "\n" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen \"../data/json/output_one_week/data_{filnavn}.json\"" ] }, { @@ -118,6 +118,8 @@ "# Gets the absolute path to the src folder\n", "sys.path.append(os.path.abspath(\"../src\"))\n", "\n", + "folder = \"../data/json/output_one_week\"\n", + "\n", "from my_package.data import write_data\n", "\n", "# User chose the name for the file\n", @@ -145,7 +147,7 @@ "import pandas as pd\n", "\n", "# Reads from file using pandas\n", - "weather_data = pd.read_json(f'../data/output_stedsnavn/data_{filename}.json')\n", + "weather_data = pd.read_json(f'../data/json/output_one_week/data_{filename}.json')\n", "\n", "from my_package.data import extract_city_df\n", "\n", @@ -348,7 +350,9 @@ "\n", "Temperatur og nedbør får plass i samme graf, hvor man leser temperatur verdiene på venstre side, og nedbørsverdiene på høyre side.\n", "\n", - "I grafen under, men på samme x-akse, finner vi informasjon om vind, både vindhastighet og vindkast." + "I grafen under, men på samme x-akse, finner vi informasjon om vind, både vindhastighet og vindkast.\n", + "\n", + "Grafen lagres i mappen `../data/figures/output_fig_one_week`" ] }, { @@ -362,7 +366,7 @@ "import os\n", "\n", "# Where the figure should be saved when exported\n", - "output_folder = \"../data/output_fig\"\n", + "output_folder = \"../data/figures/output_fig_one_week\"\n", "\n", "# Creates the folder if it does not exist\n", "os.makedirs(output_folder, exist_ok=True)\n", diff --git a/notebooks/notebook_statistic_data.ipynb b/notebooks/notebook_statistic_data.ipynb index 0beeb34..5ba4d36 100644 --- a/notebooks/notebook_statistic_data.ipynb +++ b/notebooks/notebook_statistic_data.ipynb @@ -51,8 +51,9 @@ "\n", "Skriv inn navn for til filen du vil lagre med dataen.\n", "\n", - "Eks. test\n", - "Da vil filen lagres som data_**test**.json, i mappen `../data/output_statistikk/data_{filnavn}.json`\n" + "Eks. filnavn: test\n", + "\n", + "Da vil filen lagres som data_**test**.json, i mappen `../data/json/output_statistic/data_{filnavn}.json`\n" ] }, { @@ -64,6 +65,8 @@ "# Gets the absolute path to the src folder\n", "sys.path.append(os.path.abspath(\"../src\"))\n", "\n", + "folder = \"../data/json/output_statistic\"\n", + "\n", "from my_package.data import write_data\n", "\n", "filename = input(\"Write filename: \")\n", @@ -88,7 +91,7 @@ "source": [ "import pandas as pd\n", "\n", - "data = pd.read_json(f'../data/output_statistikk/data_{filename}.json')\n", + "data = pd.read_json(f'../data/json/output_statistic/data_{filename}.json')\n", "\n", "# Display data\n", "display(data)" @@ -191,7 +194,9 @@ "metadata": {}, "source": [ "### Plotter data\n", - "Her plottes temperatur og regn på samme akse, med vind i en egen graf under, men de deler samme x-akse, som er month_date." + "Her plottes temperatur og regn på samme akse, med vind i en egen graf under, men de deler samme x-akse, som er month_date.\n", + "\n", + "Grafen lagres i mappen `../data/figures/output_fig_statistic`" ] }, { @@ -203,7 +208,7 @@ "import matplotlib.pyplot as plt\n", "import matplotlib.dates as mdates\n", "\n", - "output_folder = \"../data/output_fig\"\n", + "output_folder = \"../data/figures/output_fig_statistic\"\n", "os.makedirs(output_folder, exist_ok=True) # Create the folder if it doesn't exist\n", "\n", "\n", @@ -498,7 +503,8 @@ "metadata": {}, "source": [ "### Skriver dataen til fil\n", - "Lagrer rekord-dataen i en fil, med stedsnavn." + "Lagrer rekord-dataen i filen:\n", + "`../data/json/output_records/data_records_{stedsnavn}`" ] }, { @@ -535,7 +541,7 @@ "import json\n", "\n", "# Reads data from file and store it\n", - "with open(f\"../data/output_record/data_{filename}.json\", \"r\", encoding=\"utf-8\") as file:\n", + "with open(f\"../data/json/output_records/data_{filename}.json\", \"r\", encoding=\"utf-8\") as file:\n", " data = json.load(file)\n", "\n", "# Normalize the data for better readability\n", diff --git a/src/my_package/data.py b/src/my_package/data.py index 55fda66..74a91e2 100644 --- a/src/my_package/data.py +++ b/src/my_package/data.py @@ -31,7 +31,7 @@ def fetch_current_data(city_name): # Converts the data into json data = response.json() - folder = "../data/output_current_data" + folder = "../data/json/output" print("Data fetch: ok") return data, folder @@ -57,7 +57,7 @@ def fetch_time_data(start_date, end_date, city_name): # Converts the data into json data = response.json() - folder = "../data/output_stedsnavn" + folder = "../data/json/output" print("Data fetch: ok") return data, folder @@ -82,7 +82,7 @@ def fetch_stat_data(city_name): # Converts the data into json data = response.json() - folder = "../data/output_statistikk" + folder = "../data/json/output" print("Data fetch: ok") return data, folder diff --git a/src/my_package/util.py b/src/my_package/util.py index e23afcb..88682d7 100644 --- a/src/my_package/util.py +++ b/src/my_package/util.py @@ -65,7 +65,7 @@ def get_records(df, city_name): } summary_df = pd.DataFrame(summary_data) - folder = "../data/output_record" + folder = "../data/json/output_records" filename = f"records_{city_name}" return summary_df, filename, folder \ No newline at end of file