Überprüfung ob String in df Spalte enthalten ist

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
Schokomuffin
User
Beiträge: 10
Registriert: Dienstag 20. Oktober 2020, 17:47

Hallo :)

Ich hätte eine ziemliche Anfängerfrage zum Arbeiten mit Dataframes.

Und zwar würde ich einmal gerne eine Spalte darauf überprüfen, ob ein gewisser String enthalten ist.
Das heißt nicht, dass eine Zelle dieser Spalte genau diesen String enthalten soll, dann könnte man ja == verwenden,
sondern der String soll zum Beispiel Teil eines Names sein und kann in mehreren Zeilen vorkommen.
Als Beispiel:
Ich habe ein Attribut "Hunderterzahlen" und darunter sind 300 Zeilen aufgelistet in denen immer eine Reihenfolge von 3 Zahlen steht.
Mein Ziel ist es jetzt die Anzahl der Reihen herauszufinden, die die Zahl 5 enthalten. (Egal, wie häufig sie in einem Feld vorkommt oder an welcher Stelle sie steht). Ich will nur die Anzahl der Rows mit diesem Integerinhalt "5" wissen.

Meine bisherige Idee:

Code: Alles auswählen

df = pd.read_csv('Zahlenketten.csv',sep=',')

Fünferliste = list()

if df.Hunderterzahlen contain 5:
    Fünferliste.append()
    
print(len(Fünferliste))

Ich weiß, dass mein Fehler wahrscheinlich an dem "contain" liegt.
Allerdings weiß ich leider keinen Ersatz.
Oder ist mein Ansatz vielleicht voll und ganz falsch und es gibt eine Pandafunktion, die Strings aus Dataframespalten herauslesen kann, womit ich vielleicht einen neuen Dataframe erstellen könnte...
Sirius3
User
Beiträge: 18273
Registriert: Sonntag 21. Oktober 2012, 17:20

Man kann nicht einfach Syntax erfinden, sondern muß in der Dokumentation nachschauen, welche Methode denn für das Problem die richtige wäre, und falls nicht, muß man das Problem solange in Teilproblem unterteilen, bis es einfach lösbar ist.
Wenn Du eine Spalte mit Strings hast, kannst Du über df.Hunderterzahlen.str auf Stringmethoden zugreifen, wo es unter anderem auch eine contains-Methode gibt.
Schokomuffin
User
Beiträge: 10
Registriert: Dienstag 20. Oktober 2020, 17:47

@Sirius3

Achso, klar!

Danke, ich habs. :D
Antworten