[FIXED] Wie filtern Sie Daten in Pandas nach Spalten mit unterschiedlichen Datentypen?

Ausgabe

Ich habe dieses Problem, bei dem ich eine Datumstabelle vom Typ datetime dtype und eine andere Spalte vom Typ float erhalten habe. Beispiel – DateColumn (Jahr-Monat-Tag) und Gehalt vom Typ Float. Wie kann ich alle Zeilen von, sagen wir, 2019 nehmen, wo das Gehalt höher als 2000 ist.

Lösung

Angenommen, Sie haben die Daten auf diese Weise:

date = pd.date_range("2019-01-01", periods=500, freq="D")
salary = np.random.randint(100, 10000, 500)
df = pd.DataFrame({"date": date, "salary": salary})

Dann können Sie einfach auswählen:

 df[(df["date"].dt.year == 2019) & (df["salary"] > 2000)]

Wenn Ihre Datumsspalte eine Zeichenfolge ( df["date"] = df["date"].astype(str)) ist, können Sie Folgendes tun:

df[(df["date"] >= "2019-01-01") & (df["date"] <= "2019-12-31") & (df["salary"] > 2000)]


Beantwortet von –
mlang


Antwort geprüft von –
Robin (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like