Seite 1 von 1

2 Series zu einer Matrix und Namensbestandteile überprüfen

Verfasst: Donnerstag 26. März 2020, 08:51
von MacGruber
Guten Morgen wertes Forum,

ich habe eine Frage zu Pandas.
Ich habe 2 Series. Die erste Series beinhaltet Objekttexte und die zweite Series einzelne Wörter. Ich würde gerne beide Series in einem Dataframe so zusammenfassen, dass die Objekttexte in der ersten Spalte des DataFrames stehen (oder als Index) und die zweite Series soll dann die Überschriften aller weiterer Spalten sein. Inhalt dieser Spalten sollen dann nur True oder False sein. True, wenn das Wort (die Spaltenüberschrift) im Objekttext vorkommt, und False, wenn nicht.
Das ist jetzt vielleicht etwas schwer nachzuvollziehen.
Hier also noch ein Beispiel.

Objekttexte
Antriebsmotor vorne
Antriebsmotor hinten
Antriebsachse 2t
Lenkachse 2t

Wörter
Achse
LED
Motor

und daraus soll werden:

Objekttexte;Achse;LED;Motor
Antriebsmotor vorne;False;False;True
Antriebsmotor hinten;False;False;True
Antriebsachse 2t;True;False;False
Lenkachse 2t;True;False;False

Ziel des ganzen Soll sein, dass ich weiß, wie häufig die jeweiligen Wörter in den Texten vorkommen. Groß- und Kleinschreibung möchte ich dabei ignorieren.
Weiß jemand Rat?

Gruß Sascha

Re: 2 Series zu einer Matrix und Namensbestandteile überprüfen

Verfasst: Donnerstag 26. März 2020, 09:22
von einfachTobi

Code: Alles auswählen

import pandas as pd
objekttexte = ["Antriebsmotor vorne",
               "Antriebsmotor hinten",
               "Antriebsachse 2t",
               "Lenkachse 2t"]
woerter = ["Achse", "LED", "Motor"]
df = pd.DataFrame(objekttexte, columns=["Objekttexte"])
for wort in woerter:
    df[wort] = df['Objekttexte'].str.contains(wort, case=False)
print(df)
Erklärung: Du erstellst ein DataFrame mit der Spalte `Objekttexte`. Dann wird wortweise geprüft, ob `Objekttexte` das jeweilige Wort enthält (mittels Series.str.contains()). Dies gibt dir gleich ein Series-Objekt mit den entsprechenden Wahrheitswerten zurück, aus der eine neue Spalte mit dem Label des betrachteten Worts erstellt wird.

Re: 2 Series zu einer Matrix und Namensbestandteile überprüfen

Verfasst: Donnerstag 26. März 2020, 09:37
von MacGruber
Danke Tobi!
Hat geholfen. Dann war es doch so einfach. Bin noch nicht so in der richtigen Denke drinne für Pandas. Vielleicht denke ich da noch zu kompliziert.

Wie kann ich eigentlich hier den Thread schließen?