Ich habe folgenden Datenrahmen bezeichnet Start- und Enddatum für ein bestimmtes Quartal:Python: Erstellen neue Spalt in Datenrahmen basierend auf Start- und Enddatum in einem anderen Datenrahmen
Meine Funktion nehmen unter einem vorhandenen Datensatz (nicht gezeigt) und erstellt eine neue Spalte namens "Quarter". Wenn das Datum in meinem vorhandenen Datensatz innerhalb des Anfangs- und Enddatums in dem obigen Datenrahmen liegt, erhält die neue Spalte "Quartal" eine Bezeichnung (d. H. Q1 oder Q2). Ansonsten möchte ich, dass es leer ist.
# dynamic function for quarterly cuts
def quarters(df, df_quarters):
for i, m in df.iterrows():
for j, (Quarter, Start_Date, End_Date) in df_quarters.iterrows():
if (m['date'] >= Start_Date) & (m['date'] <= End_Date):
df.set_value(i, 'Quarter', Quarter)
break
quarters(WSI_Hourly, df_quarters)
Die Funktion, die ich über Werke geschrieben, aber mit einem Haken. Es kennzeichnet noch jedes Datum vor 2016, 1, 1 in meinem Datensatz als Q1. Wenn ich beispielsweise ein Datum wie 2015, 12, 3 habe, sollte die Spalte "Quartal" leer sein, da sie außerhalb des zulässigen Bereichs liegt. Aber es bezeichnet es immer noch als Q1.
* Jede Hilfe wird sehr geschätzt.