Ich habe ein Pandas Datenframe, wobei eine Spalte nur Strings enthält.Erstellen einer Spalte in Pandas Datenframe basierend auf einer anderen Spalte
df= pd.DataFrame(
{
"A": [2,4,7,17,39],
"B": ["apple","apple","broccoli","rose","apple"]
}
)
Ich möchte diese Spalte „B“ prüfen und sehen für alle Zeiten eine Zeichenfolge enthält einen bestimmten Teil eines Wortes. Dann erstelle ich eine neue Spalte "C", die eine Reihe von Strings enthält, die "Obst" sagen, wenn "app" in der Reihe ist, "flower" für wann immer "ros" erscheint und Gemüse für wenn "brocc" auftaucht.
wird das letzte Datenrahmen wie folgt aussehen:
df= pd.DataFrame(
{
"A": [2,4,7,17,39],
"B": ["apple","apple","broccoli","rose","apple"],
"C": ["fruit","fruit", "vegetable", "flower", "fruit"]
}
)
ich leicht verändert sich die Frage, so dass der vollständige Name des Unternehmens isn‘ t erforderlich. Ändert dies die Antwort, die Sie zur Verfügung gestellt haben? – John
@John Normalerweise sollten Sie die Frage nicht auf nicht-triviale Weise ändern (insbesondere wenn Sie die Antworten ungültig machen könnten). Stellen Sie stattdessen eine neue Frage. – MSeifert
@John Nein, dies funktioniert nicht für die Teilübereinstimmung. Die Regel in der Frage ist nicht sehr klar. Sind die Teile der Wörter vorher festgelegt? Zum Beispiel werden Sie in der Lage sein, ein Wörterbuch wie dieses zu konstruieren? Oder möchten Sie dieses Wörterbuch verwenden, aber einen Wert zurückgeben, wenn es eine teilweise Übereinstimmung gibt? Für Letzteres müssen Sie klären, welche Art von Übereinstimmung akzeptabel ist. Was passiert wenn nur "o" ist? Wäre es ein Gemüse oder eine Blume? – ayhan