Ich habe einen Pandas-Datenrahmen mit zwei Spalten.Verwenden von df.column.str.contains und Aktualisieren einer Pandas-Datenframe-Spalte
df= pd.DataFrame({"C": ['this is orange','this is apple','this is pear','this is plum','this is orange'], "D": [0,0,0,0,0]})
Ich möchte diese C-Spalte lesen und in der D-Spalte den Namen der Frucht zurückgeben. Mein Denkprozess verwendete also df.C.str.contains, um zu bestimmen, ob eine bestimmte Zeichenkette in jeder Zeile von C erscheint und D dann entsprechend aktualisiert wird. Die Elemente in C können wirklich lange Zeichenketten sein: ex. "Das ist ein Apfel, der rot ist", aber es interessiert mich nur, ob das Wort Apfel in der Zelle erscheint. Ich sollte beachten, dass ich nicht an die Verwendung von str.contains gebunden bin, aber dies schien der offensichtlichste Weg zu mir. Nur nicht sicher, wie ich es anwenden würde.
wird das letzte Datenrahmen wie folgt aussehen:
df= pd.DataFrame({"C": ['this is orange','this is apple','this is pear','this is plum','this is orange'], "D": ['orange','apple','pear','plum','grapefruit']})
Wenn sich die Frage ändert vollständig verstehen und werde ich wieder fragen, aber was ist, wenn die Frucht wurde von Klammern und ohne Leerzeichen eingewickelt? Es könnte also etwas wie dieses sein (orange). Und ich möchte nur das Wort Orange zurückgeben. – John
Sie können df.C.str.extract ('das ist \ (? ([A-Za-z] +) \ s?. *?') Verwenden, um die Möglichkeit der Klammer um eine Frucht zu behandeln. Es funktioniert für beide die Fälle – Vaishali
Und danke für die Annahme :) – Vaishali