From 77ea5271f208bdbb8c21287f8a73e4ba3007d143 Mon Sep 17 00:00:00 2001 From: Georg Brantegger Date: Sat, 20 Jun 2026 19:50:51 +0200 Subject: [PATCH] small improvements and better handling of edge cases --- .gitignore | 2 + LaTex/Ruder-IDs.csv | 126 +-- LaTex/print_Ruder-IDs.pdf | Bin 29561 -> 32818 bytes .../convert_athletes.ipynb | 6 +- ...create_video_folder_for_all_contacts.ipynb | 4 +- .../enrich_oar_df_with_places_info.ipynb | 957 +----------------- 6 files changed, 92 insertions(+), 1003 deletions(-) diff --git a/.gitignore b/.gitignore index 8598a2f..9e344b6 100644 --- a/.gitignore +++ b/.gitignore @@ -507,3 +507,5 @@ TSWLatexianTemp* # Uncomment the next line to have this generated file ignored. #*Notes.bib +LaTex/print_Ruder-IDs.pdf +LaTex/Ruder-IDs.csv diff --git a/LaTex/Ruder-IDs.csv b/LaTex/Ruder-IDs.csv index 3f32545..1bed5a0 100644 --- a/LaTex/Ruder-IDs.csv +++ b/LaTex/Ruder-IDs.csv @@ -1,79 +1,47 @@ -S-C2-M-19XX-01-B/S -S-Sw-M-201X-01-B/S -S-Sw-M-201X-02-B/S -S-Sw-M-201X-03-B/S -S-Sw-M-201X-04-B/S -S-Cr-M-200X-01-B/S -S-Cr-M-200X-02-B/S -S-Cr-M-200X-03-B/S -S-Cr-M-200X-04-B/S -S-Cr-M-200X-05-B/S -S-Cr-M-200X-06-B/S -S-Cr-M-200X-07-B/S -S-Cr-M-200X-08-B/S -S-Cr-M-200X-09-B/S -S-Cr-M-200X-10-B/S -S-Cr-M-200X-11-B/S -S-Cr-H-200X-01-B/S -S-Cr-H-200X-02-B/S -S-Cr-H-200X-03-B/S -S-Cr-H-200X-04-B/S -S-Cr-H-200X-05-B/S -S-C2-H-201X-01-B/S -S-C2-H-201X-02-B/S -S-C2-H-201X-03-B/S -S-C2-H-201X-04-B/S -S-C2-H-201X-05-B/S -S-C2-H-201X-06-B/S -S-C2-H-201X-07-B/S -S-C2-H-201X-08-B/S -S-C2-H-201X-09-B/S -S-C2-H-201X-10-B/S -S-C2-H-201X-11-B/S -S-C2-H-201X-12-B/S -S-C2-H-201X-13-B/S -S-C2-H-201X-14-B/S -S-C2-H-201X-15-B/S -S-C2-H-201X-16-B/S -S-C2-H-201X-17-B/S -S-C2-H-201X-20-B/S-sk -S-C2-H-201X-21-B/S-sk -S-C2-H-201X-22-B/S-sk -S-C2-H-201X-23-B/S-sk -S-C2-H-201X-24-B/S-sk -S-C2-H-201X-25-B/S-sk -S-C2-H-201X-26-B/S-sk -S-C2-H-202X-01-B/S-sk -S-C2-H-202X-02-B/S-sk -S-C2-H-202X-03-B/S-sk -R-Em-H-19XX-00/01 -R-Em-H-19XX-02/3 -R-Em-H-19XX-02/03 -R-Em-H-19XX-04/5 -R-Em-H-19XX-04/05 -R-Em-H-19XX-06/7 -R-Em-H-19XX-06/07 -R-Em-H-19XX-08/9 -R-Cr-H-200X-00/01 -R-Cr-H-200X-02/3 -R-Cr-H-200X-02/03 -R-Cr-H-200X-04/5 -R-Cr-H-200X-04/05 -R-Cr-H-200X-06/7 -R-Cr-H-200X-06/07 -R-Cr-H-200X-08/9 -R-Cr-H-200X-08/09 -R-Cr-H-200X-10/11 -R-Cr-H-200X-12/13 -R-Cr-H-200X-14/15 -R-C2-H-201X-00/01-sk -R-C2-H-201X-02/3-sk -R-C2-H-201X-02/03-sk -R-C2-H-201X-04/5-sk -R-C2-H-201X-04/05-sk -R-C2-H-201X-06/7-sk -R-C2-H-201X-06/07-sk -R-C2-H-201X-08/9-sk -R-C2-H-201X-08/09-sk -R-C2-H-201X-10/11-sk -R-C2-H-201X-12/13-sk +Angie +Architekten Lechner +ASVK +Autohaus Velden +Bootolo +C3er +C4er +Carb\&Curvy +Carinthischer Sommer +Cito +E.H. +Empacher 2 +Feuerberg +Flugbügel CL1 +Gelber Schelle 2x +Hans und Erni +HGC Group/Max +HGC/Felix/Thor +Hydrant +in Ligno +Kärnten Sport +Killer +Kleine Zeitung +Leonie +Lupo +Manze +Mastä +Niebelungen +Noze +Paracelsus +Pegasus +Peter Pan +Phönix +Pra +Regnitz +Skye +State of the Art +Steinstark +Ulli +Velocitas +Veronika +Victoria +Villach Sport +Villach:Sport 8+ +Villacher Bier +Villacher Faschingsgilde +Zernatto diff --git a/LaTex/print_Ruder-IDs.pdf b/LaTex/print_Ruder-IDs.pdf index 997217159fd4a4e6fe1fcb7be6a0fb76723e78f3..065b5d3f4d71e787ac8fca87a64030e275c68abd 100644 GIT binary patch delta 21499 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 AT>t<8 delta 18123 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 diff --git a/Nextcloud Contact Infos/convert_athletes.ipynb b/Nextcloud Contact Infos/convert_athletes.ipynb index fd63b37..f8edd31 100644 --- a/Nextcloud Contact Infos/convert_athletes.ipynb +++ b/Nextcloud Contact Infos/convert_athletes.ipynb @@ -141,7 +141,7 @@ "df['Nachname'] = df['Nachname'].str.strip()\n", "df['rower'] = df.apply(evaluate_rower,axis=1,args=('rower',))\n", "df['Telefonnummer'] = df.apply(extract_tel,axis=1,args=('Telefonnummer',))\n", - "df['Foto'] = df['Foto'].str.replace(' ','-').fillna('-')" + "df['Foto'] = df['Foto'].fillna('-').str.replace(' ','-').fillna('-')" ] }, { @@ -277,7 +277,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv (3.13.7)", + "display_name": ".venv (3.14.4)", "language": "python", "name": "python3" }, @@ -291,7 +291,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.7" + "version": "3.14.4" } }, "nbformat": 4, diff --git a/Nextcloud Video Files/create_video_folder_for_all_contacts.ipynb b/Nextcloud Video Files/create_video_folder_for_all_contacts.ipynb index dae0f1c..669b4b8 100644 --- a/Nextcloud Video Files/create_video_folder_for_all_contacts.ipynb +++ b/Nextcloud Video Files/create_video_folder_for_all_contacts.ipynb @@ -129,7 +129,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv (3.13.7)", + "display_name": ".venv (3.14.4.final.0)", "language": "python", "name": "python3" }, @@ -143,7 +143,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.7" + "version": "3.14.4" } }, "nbformat": 4, diff --git a/Nextcloud_Material/enrich_oar_df_with_places_info.ipynb b/Nextcloud_Material/enrich_oar_df_with_places_info.ipynb index 854f346..bdc527e 100644 --- a/Nextcloud_Material/enrich_oar_df_with_places_info.ipynb +++ b/Nextcloud_Material/enrich_oar_df_with_places_info.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "3a384a62", "metadata": {}, "outputs": [], @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "05055b94", "metadata": {}, "outputs": [], @@ -30,19 +30,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "13fb9852", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "File loaded successfully!\n", - "File loaded successfully!\n" - ] - } - ], + "outputs": [], "source": [ "# read list of boats\n", "\n", @@ -84,911 +75,17 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "16e39eff", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "Ruder-ID", - "rawType": "str", - "type": "string" - }, - { - "name": "Länge Ruder gesamt", - "rawType": "float64", - "type": "float" - }, - { - "name": "Länge Innenhebel", - "rawType": "float64", - "type": "float" - }, - { - "name": "Anlage", - "rawType": "str", - "type": "string" - }, - { - "name": "Länge Ruder min", - "rawType": "float64", - "type": "float" - }, - { - "name": "Länge Ruder max", - "rawType": "float64", - "type": "float" - }, - { - "name": "Skinny Typ", - "rawType": "str", - "type": "string" - }, - { - "name": "Bootsplatz 1", - "rawType": "str", - "type": "string" - }, - { - "name": "Bootsplatz 2", - "rawType": "str", - "type": "string" - }, - { - "name": "Bootsplatz 3", - "rawType": "str", - "type": "string" - } - ], - "ref": "130c93ae-4feb-4fdb-91a5-9de2a65b04d1", - "rows": [ - [ - "R-C2-H-201X-01-S-sk", - "370.5", - "111.0", - "+1", - "370.0", - "375.0", - "MEDFLEX", - "Architekten Lechner_4-_1", - null, - null - ], - [ - "R-C2-H-201X-02-B-sk", - "370.0", - "111.0", - "-3,5", - "370.0", - "375.0", - "MEDFLEX", - "Architekten Lechner_4-_2", - null, - null - ], - [ - "R-C2-H-201X-03-S-sk", - "370.5", - "111.5", - "+1", - "370.0", - "375.0", - "MEDFLEX", - "Architekten Lechner_4-_3", - null, - null - ], - [ - "R-C2-H-201X-04-B-sk", - "370.0", - "111.5", - "-2", - "370.0", - "375.0", - "MEDFLEX", - "Architekten Lechner_4-_4", - null, - null - ], - [ - "R-C2-H-201X-05-S-sk", - "374.7", - "115.0", - "+2", - "373.0", - "378.0", - "MEDFLEX", - "in Ligno_4-_1", - null, - null - ], - [ - "R-C2-H-201X-06-B-sk", - "375.0", - "115.5", - "-2", - "373.0", - "378.0", - "MEDFLEX", - "in Ligno_4-_2", - null, - null - ], - [ - "R-C2-H-201X-07-S-sk", - "375.0", - "115.0", - "0", - "373.0", - "378.0", - "MEDFLEX", - "in Ligno_4-_3", - null, - null - ], - [ - "R-C2-H-201X-08-B-sk", - "375.5", - "115.0", - "-2", - "373.0", - "378.0", - "MEDFLEX", - "in Ligno_4-_4", - null, - null - ], - [ - "R-C2-H-201X-09-S-sk", - "370.0", - "111.2", - "-1", - "370.0", - "375.0", - "MEDFLEX", - null, - null, - null - ], - [ - "R-C2-H-201X-10-B-sk", - "370.0", - "111.2", - "-2", - "370.0", - "375.0", - "MEDFLEX", - null, - null, - null - ], - [ - "R-C2-H-201X-11-S-sk", - "370.0", - "111.5", - "-2", - "370.0", - "375.0", - "MEDFLEX", - "Lupo_2-_1", - null, - null - ], - [ - "R-C2-H-201X-12-B-sk", - "370.0", - "111.5", - "-3", - "370.0", - "375.0", - "MEDFLEX", - "Lupo_2-_2", - null, - null - ], - [ - "R-Cr-H-200X-01-S", - "375.0", - "114.0", - "+1,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-02-B", - "375.0", - "114.0", - "0", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-03-S", - "375.0", - "115.0", - "+1,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-04-B", - "370.0", - "111.5", - "0,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-05-S", - "375.0", - "114.0", - "+3,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-06-B", - "375.0", - "114.0", - "-1,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-07-S", - "375.0", - "115.0", - "+2,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-08-B", - "375.0", - "115.0", - "-2", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-09-S", - "375.0", - "114.0", - "+1", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-10-B", - "375.5", - "115.0", - "-2,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-11-S", - "375.0", - "114.0", - "+1", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-12-B", - "375.0", - "114.0", - "-2,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-13-S", - "375.0", - "115.0", - "+2,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Cr-H-200X-14-B", - "273.0", - "112.5", - "-3,5", - null, - null, - null, - null, - null, - null - ], - [ - "R-Em-H-19XX-01-S", - "375.0", - "113.0", - "+3", - null, - null, - null, - "Villach:Sport 8+_8x_1", - null, - null - ], - [ - "R-Em-H-19XX-02-B", - "375.0", - "113.0", - "-1", - null, - null, - null, - "Villach:Sport 8+_8x_2", - null, - null - ], - [ - "R-Em-H-19XX-03-S", - "375.0", - "113.0", - "+1", - null, - null, - null, - "Villach:Sport 8+_8x_3", - null, - null - ], - [ - "R-Em-H-19XX-04-B", - "374.5", - "113.0", - "0", - null, - null, - null, - "Villach:Sport 8+_8x_4", - null, - null - ], - [ - "R-Em-H-19XX-05-S", - "374.5", - "113.0", - "+2", - null, - null, - null, - "Villach:Sport 8+_8x_5", - null, - null - ], - [ - "R-Em-H-19XX-06-B", - "375.0", - "113.0", - "+0,5", - null, - null, - null, - "Villach:Sport 8+_8x_6", - null, - null - ], - [ - "R-Em-H-19XX-07-S", - "374.7", - "112.8", - "+3", - null, - null, - null, - "Villach:Sport 8+_8x_7", - null, - null - ], - [ - "R-Em-H-19XX-08-B", - "375.0", - "113.0", - "+0,5", - null, - null, - null, - "Villach:Sport 8+_8x_8", - null, - null - ], - [ - "S-C2-H-201X-01-B", - "287.5", - "87.5", - "+1,", - "284.0", - "289.0", - "MEDFLEX", - "Architekten Lechner_4x_1", - null, - null - ], - [ - "S-C2-H-201X-01-S", - "287.5", - "87.5", - "+0,5", - "284.0", - "289.0", - "MEDFLEX", - "Architekten Lechner_4x_1", - null, - null - ], - [ - "S-C2-H-201X-02-B", - "287.5", - "87.5", - "+2", - "287.0", - "292.0", - "MEDFLEX", - "Architekten Lechner_4x_2", - null, - null - ], - [ - "S-C2-H-201X-02-S", - "287.5", - "87.5", - "+0,5", - "287.0", - "292.0", - "MEDFLEX", - "Architekten Lechner_4x_2", - null, - null - ], - [ - "S-C2-H-201X-03-B", - "287.5", - "88.0", - "+2", - "287.0", - "292.0", - "MEDFLEX", - "Architekten Lechner_4x_3", - null, - null - ], - [ - "S-C2-H-201X-03-S", - "287.5", - "88.0", - "+3", - "287.0", - "292.0", - "MEDFLEX", - "Architekten Lechner_4x_3", - null, - null - ], - [ - "S-C2-H-201X-04-B", - "287.5", - "87.5", - "+4", - "287.0", - "292.0", - "MEDFLEX", - "Architekten Lechner_4x_4", - null, - null - ], - [ - "S-C2-H-201X-04-S", - "287.5", - "87.5", - "+1,", - "287.0", - "292.0", - "MEDFLEX", - "Architekten Lechner_4x_4", - null, - null - ], - [ - "S-C2-H-201X-05-B", - "287.0", - "88.0", - "+1,", - "287.0", - "292.0", - "MEDFLEX", - "Gelber Schelle 2x_2x_1", - null, - null - ], - [ - "S-C2-H-201X-05-S", - "287.0", - "88.0", - "+2", - "287.0", - "292.0", - "MEDFLEX", - "Gelber Schelle 2x_2x_1", - null, - null - ], - [ - "S-C2-H-201X-06-B", - "287.0", - "88.0", - "+2,5", - "287.0", - "292.0", - "MEDFLEX", - "Gelber Schelle 2x_2x_2", - null, - null - ], - [ - "S-C2-H-201X-06-S", - "287.0", - "88.0", - "+2", - "287.0", - "292.0", - "MEDFLEX", - "Gelber Schelle 2x_2x_2", - null, - null - ], - [ - "S-C2-H-201X-07-B", - "287.0", - "89.0", - "+1,5", - "287.0", - "292.0", - "MEDFLEX", - "E.H._2x_1", - null, - null - ], - [ - "S-C2-H-201X-07-S", - "287.0", - "89.0", - "+1,5", - "287.0", - "292.0", - "MEDFLEX", - "E.H._2x_1", - null, - null - ], - [ - "S-C2-H-201X-08-B", - "287.0", - "88.0", - "+1,5", - "284.0", - "289.0", - "MEDFLEX", - "E.H._2x_2", - null, - null - ], - [ - "S-C2-H-201X-08-S", - "287.0", - "88.0", - "+1,", - "284.0", - "289.0", - "MEDFLEX", - "E.H._2x_2", - null, - null - ] - ], - "shape": { - "columns": 9, - "rows": 182 - } - }, - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Länge Ruder gesamtLänge InnenhebelAnlageLänge Ruder minLänge Ruder maxSkinny TypBootsplatz 1Bootsplatz 2Bootsplatz 3
Ruder-ID
R-C2-H-201X-01-S-sk370.5111.0+1370.0375.0MEDFLEXArchitekten Lechner_4-_1NaNNaN
R-C2-H-201X-02-B-sk370.0111.0-3,5370.0375.0MEDFLEXArchitekten Lechner_4-_2NaNNaN
R-C2-H-201X-03-S-sk370.5111.5+1370.0375.0MEDFLEXArchitekten Lechner_4-_3NaNNaN
R-C2-H-201X-04-B-sk370.0111.5-2370.0375.0MEDFLEXArchitekten Lechner_4-_4NaNNaN
R-C2-H-201X-05-S-sk374.7115.0+2373.0378.0MEDFLEXin Ligno_4-_1NaNNaN
..............................
R-C2-M-19XX-04-B384.0116.5NaNNaNNaNNaNNaNNaNNaN
R-C2-M-19XX-05-S384.0116.5NaNNaNNaNNaNNaNNaNNaN
R-C2-M-19XX-06-B384.0116.5NaNNaNNaNNaNNaNNaNNaN
R-C2-M-19XX-07-S384.0116.5NaNNaNNaNNaNNaNNaNNaN
R-C2-M-19XX-08-B384.0116.5NaNNaNNaNNaNNaNNaNNaN
\n", - "

182 rows × 9 columns

\n", - "
" - ], - "text/plain": [ - " Länge Ruder gesamt Länge Innenhebel Anlage \\\n", - "Ruder-ID \n", - "R-C2-H-201X-01-S-sk 370.5 111.0 +1 \n", - "R-C2-H-201X-02-B-sk 370.0 111.0 -3,5 \n", - "R-C2-H-201X-03-S-sk 370.5 111.5 +1 \n", - "R-C2-H-201X-04-B-sk 370.0 111.5 -2 \n", - "R-C2-H-201X-05-S-sk 374.7 115.0 +2 \n", - "... ... ... ... \n", - "R-C2-M-19XX-04-B 384.0 116.5 NaN \n", - "R-C2-M-19XX-05-S 384.0 116.5 NaN \n", - "R-C2-M-19XX-06-B 384.0 116.5 NaN \n", - "R-C2-M-19XX-07-S 384.0 116.5 NaN \n", - "R-C2-M-19XX-08-B 384.0 116.5 NaN \n", - "\n", - " Länge Ruder min Länge Ruder max Skinny Typ \\\n", - "Ruder-ID \n", - "R-C2-H-201X-01-S-sk 370.0 375.0 MEDFLEX \n", - "R-C2-H-201X-02-B-sk 370.0 375.0 MEDFLEX \n", - "R-C2-H-201X-03-S-sk 370.0 375.0 MEDFLEX \n", - "R-C2-H-201X-04-B-sk 370.0 375.0 MEDFLEX \n", - "R-C2-H-201X-05-S-sk 373.0 378.0 MEDFLEX \n", - "... ... ... ... \n", - "R-C2-M-19XX-04-B NaN NaN NaN \n", - "R-C2-M-19XX-05-S NaN NaN NaN \n", - "R-C2-M-19XX-06-B NaN NaN NaN \n", - "R-C2-M-19XX-07-S NaN NaN NaN \n", - "R-C2-M-19XX-08-B NaN NaN NaN \n", - "\n", - " Bootsplatz 1 Bootsplatz 2 Bootsplatz 3 \n", - "Ruder-ID \n", - "R-C2-H-201X-01-S-sk Architekten Lechner_4-_1 NaN NaN \n", - "R-C2-H-201X-02-B-sk Architekten Lechner_4-_2 NaN NaN \n", - "R-C2-H-201X-03-S-sk Architekten Lechner_4-_3 NaN NaN \n", - "R-C2-H-201X-04-B-sk Architekten Lechner_4-_4 NaN NaN \n", - "R-C2-H-201X-05-S-sk in Ligno_4-_1 NaN NaN \n", - "... ... ... ... \n", - "R-C2-M-19XX-04-B NaN NaN NaN \n", - "R-C2-M-19XX-05-S NaN NaN NaN \n", - "R-C2-M-19XX-06-B NaN NaN NaN \n", - "R-C2-M-19XX-07-S NaN NaN NaN \n", - "R-C2-M-19XX-08-B NaN NaN NaN \n", - "\n", - "[182 rows x 9 columns]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "oars_df" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "da9397a8", "metadata": {}, "outputs": [], @@ -998,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "43ffb028", "metadata": {}, "outputs": [], @@ -1018,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "0b3f5068", "metadata": {}, "outputs": [], @@ -1026,12 +123,24 @@ "for oar_id in my_dict.keys():\n", " places_list = np.array(my_dict[oar_id])\n", " boat_sizes = [place_label.split('_')[1][0] if len(place_label)>0 else '' for place_label in places_list]\n", - " my_dict[oar_id] = np.flip(places_list[np.argsort(np.array(boat_sizes))])" + " my_dict[oar_id] = list(np.flip(places_list[np.argsort(np.array(boat_sizes))]))\n", + " filler_array = [\"\" for i in range(3-len(my_dict[oar_id]))]\n", + " my_dict[oar_id] = my_dict[oar_id]+filler_array" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, + "id": "dd65265e", + "metadata": {}, + "outputs": [], + "source": [ + "my_dict" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "3a7eb82e", "metadata": {}, "outputs": [], @@ -1041,7 +150,17 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, + "id": "2d51067f", + "metadata": {}, + "outputs": [], + "source": [ + "my_dict" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "d85765c4", "metadata": {}, "outputs": [], @@ -1051,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "035de923", "metadata": {}, "outputs": [], @@ -1061,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "b6848ae9", "metadata": {}, "outputs": [], @@ -1072,7 +191,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv (3.13.7)", + "display_name": ".venv (3.14.4.final.0)", "language": "python", "name": "python3" }, @@ -1086,7 +205,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.7" + "version": "3.14.4" } }, "nbformat": 4,