pandas Spalte mit NaN-Elementen filtern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
puba
User
Beiträge: 13
Registriert: Dienstag 22. Juli 2008, 18:53

hallo,
ich möchte aus einer .csv-Datei mit den Spalten

ArtNr, HstNr, Bezeichn, Preis, Zusatz1

bestimmte Artikel nach HstNr filtern.

in dieser Spalte sind jedoch Artikel ohne HstNr, diese werden als NaN angezeigt.
Beim Filtern erhalte ich von Pandas die Fehlermelung, dass diese Spalte mit NaN nicht
indexiert werden kann.
Wie kann ich die Abfrage anders gestalten?

Bsp:
import pandas as pd
df=pd.read_csv('verz/datei.csv', sep=';', names=['ArtNr', 'HstNr', 'Bezeichn', 'Preis', 'Zsatz1']
abf1=df.HstNr.str.conains("4711xy")
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Benutze keine Abkürzungen. Haustiernummer? Und bei Bezeichn war das ung wohl zu teuer? Und warum hat Zusatz keine u und dazu noch eine unsinnige 1?
abfahrt1 heißt, dass der Zug um 1Uhr abfährt oder auf Gleis 1?
Schlechte Namen führen nur zu Verwirrung, weil man bei jedem Lesen wieder überlegen muß, was das bedeutet und beim Schreiben, welcher der Buchstaben man jetzt weglassen muß.

Die Hersteller-Spalte scheint Strings zu enthalten. Woher kommen dann die NaN?
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ich denke das fehlende "u" bei "Zusatz1" ist das gleiche Problem wie das fehlende "t" bei `contains`.

@puba: Bitte nicht irgend etwas hier reintippen das so ähnlich aussieht wie Dein tatsächlicher Code, sondern tatsächlichen Code. Und bitte auch die komplette Fehlermeldung inklusive Traceback.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
puba
User
Beiträge: 13
Registriert: Dienstag 22. Juli 2008, 18:53

Bitte entschuldigt, dass ich in eurem elitären Forum eine Frage gestellt habe.
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

@puba: wenn Du sorgfältiges Arbeiten als „elitär” bezeichnest, dann ist hoffentlich jede Autowerkstatt ein elitärer Club. Du kannst jetzt entweder beleidigt sein, oder die Fragen beantworten, damit man Dir helfen kann.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@puba: Du hast sowohl den Code als auch die Fehlermeldung hier nur so ungefähr verraten. Bei dem Code versuchst Du einen Test mit `str.contains`, was aber heisst das die Spalte Zeichenketten enthält. Wenn sie Zeichenketten enthält, kann sie aber keine NaN-Werte enthalten. Was soll man denn da anderes machen als nach mehr Details zu fragen‽
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten