Ich habe diesen Datenrahmen in Pandas:Zeichenfolge aus Pandas Series und DataFrames in Python erhalten?
d=pandas.DataFrame([{"a": 1, "b": 1}, {"c": 2, "b": 4}])
d["name"] = ["Hello", "World"]
Ich mag ein Element wählen, basierend auf seinem String-Wert in Spalte „Namen“ und dann den Wert als String erhalten. Um das Element zu wählen:
d[d["name"] == "World"]["name"]
Out:
1 World
Name: name
Das Problem ist, dass es nicht einen einfachen String nicht geben, sondern eine Serie. Casting zu einem String wird nicht helfen - wie kann ich nur die Zeichenfolge "World"
daraus bekommen? Ist das der einzige Weg?
d[d["name"] == "World"]["name"].values[0]
danke.
Können Sie Ihr Beispiel etwas erweitern? Im Moment scheint es so, als würdest du "World" einsetzen und "World" als Output nutzen. – DSM
@DSM: Ja, das ist richtig, aber stellen Sie sich vor, dass wir statt "name" einen anderen col-Namen genommen haben, wie: 'd [d [" name "] ==" Welt "] [" anderer_name "]' where ' other_name' ist eine String-Spalte – user248237dfsf
Das wäre ein besseres Beispiel gewesen. : ^) Aber im allgemeinen Fall gibt es keine Garantie, dass es nur einen übereinstimmenden Wert gibt, oder? Ich vermute also, dass das Ergebnis im Wesentlichen Array-artig sein wird. Sie können die Syntax verkürzen - zum Beispiel mit "max" oder "iget" - aber davon bin ich mir nicht sicher. Vielleicht hat Hayden etwas schlaues .. – DSM