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)