Ich habe ein Dataframe df mit zwei Spalten namens "MovieName" und "Actors". Es sieht so aus:Count basierend auf anderen csv-Datei
MovieName Actors
lights out Maria Bello
legend Tom Hardy*Emily Browning*Christopher Eccleston*David Thewlis
Bitte beachten Sie, dass verschiedene Schauspieler Namen durch '*' getrennt sind. Ich habe eine andere CSV-Datei namens gender.csv, die das Geschlecht aller Akteure auf der Grundlage ihrer Vornamen hat. gender.csv sieht aus wie -
ActorName Gender
Tom male
Emily female
Christopher male
ich zwei Spalten in meiner Datenrahmen hinzufügen möchten ‚female_actors‘ und ‚male_actors‘, die in diesem bestimmten Film bzw. die Anzahl der weiblichen und männlichen Schauspieler enthält.
Wie erreiche ich diese Aufgabe mit beiden df und gender.csv in Pandas?
Bitte beachten Sie, dass -
- Wenn bestimmte Namen nicht in gender.csv ist, kann es nicht in der Gesamt zählen.
- Wenn nur ein Akteur in einem Film vorhanden ist und in gender.csv nicht vorhanden ist, sollte die Zählung null sein.
Ergebnis obigen Beispiel sein sollte -
MovieName Actors male_actors female_actors
lights out Maria Bello 0 0
legend Tom Hardy*Emily Browning*Christopher Eccleston*David Thewlis 2 1
Nizza. Können wir männlich und weiblich gleichzeitig von der Funktion zurückgeben und sie als Reihe speichern? – MYGz
@qmaruf Es wird ein Fehler ausgegeben. AttributeError: 'float' -Objekt hat kein Attribut 'split'. Liegt es daran, dass einige NaN-Werte vorhanden sind? – ComplexData
@Dreamer Ich denke schon. Sie sollten Daten entsprechend verarbeiten. – qmaruf