Should unspecified optional strings be the empty string or NaN?
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Start by reviewing the PEtab optional string-column handling described in the issue and the affected entry point in AMICI's python/amici/plotting.py at line 81. Decide how unspecified values should be represented without confusing a literal 'nan' name, then verify the behavior across parsing and plotting integration.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
At the moment, there can be NaNs (after pd.read_csv) in optional PEtab string columns, such as observableNames, that, if interpreted as a string, are converted to the string literal 'nan'.
>>> import numpy as np
>>> str(np.nan)
'nan'
An issue can occur in the AMICI plotting functions. This issue can be fixed by replacing
elif model.getObservableNames()[iy] != '':
with
elif model.getObservableNames()[iy] in ['', 'nan']:
to correctly identify unspecified observable names. However, testing for the string 'nan' seems unintuitive, and this fix might cause another issue if an observable is named 'nan'.
Here's a solution, which could be implemented in PEtab, and might resolve the issue in AMICI.
$ cat test_str.csv
observableId observableName
a_id a_name
b_id
>>> import pandas as pd
>>> df1 = pd.read_csv('test_str.csv', sep='\t')
>>> df2 = pd.read_csv('test_str.csv', sep='\t')
>>> df2['observableName'] = df2['observableName'].fillna('')
>>> df1
observableId observableName
0 a_id a_name
1 b_id NaN
>>> df2
observableId observableName
0 a_id a_name
1 b_id
- Vorherrschende Sprache
- Python
- Sterne
- 18
- Forks
- 9
- Ø Merge
- 1 T. 21 Std.
- Gemergte PRs (30 T.)
- 25
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PEtab-dev/libpetab-python
-
`petab1to2`: random column name for pre-existing `experimentId` columnEvtl. vergeben @dweindl hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
PEtab-dev/libpetab-python#568 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
PEtab-dev/libpetab-python#566 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
PEtab-dev/libpetab-python#549 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
PEtab-dev/libpetab-python#525 ·
Maintainer antworten meist innerhalb von 1 Tag
-
`petablint` fails for PEtab v2 problems with only warningsEvtl. vergeben @dweindl hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
PEtab-dev/libpetab-python#567 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in PEtab-dev/libpetab-python
Ähnliche Issues
-
README.zh-CN/ja/es still hard-code 501 test counts after README.md went count-freeEvtl. vergeben @Aaqibhafeezkhan hat das heute übernommen. Offenbeginner documentation good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
BistaDinesh03/critique#164 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug IO
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
MrNeRF/LichtFeld-Studio#3824 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug confirmed issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
open-webui/open-webui#33200 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Lychee link check failedOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkEvtl. vergeben @ocelotl hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
open-telemetry/opentelemetry-python#5825 ·
Maintainer antworten meist innerhalb von 2 Tagen