Welcher Anteil des Jahres ist bis zu einem gegebenen Timestamp in pandas vergangen?
English
Deutsch
Um zu berechnen, welcher Anteil des Jahres seit Jahresbeginn vergangen ist, verwenden Sie diese Funktion:
fraction_of_year_passed.py
import pandas as pd
def fraction_of_year_passed(date):
"""Berechnet, welcher Anteil des aktuellen Jahres bis zum angegebenen Datum bereits vergangen ist"""
start_of_year = pd.Timestamp(now.year, 1, 1)
start_of_next_year = pd.Timestamp(now.year + 1, 1, 1)
# Sekunden im gesamten Jahr und Sekunden seit Jahresbeginn berechnen
entire_year_seconds = (start_of_next_year - start_of_year).total_seconds()
seconds_since_start_of_year = (date - start_of_year).total_seconds()
return seconds_since_start_of_year / entire_year_secondsVerwendungsbeispiel:
fraction_of_year_passed.py
print(fraction_of_year_passed(pd.Timestamp("2020-03-01"))) # prints 0.16393442622950818Detaillierte Erklärung:
Zuerst definieren wir den Beginn des Kalenderjahres, zu dem date gehört, und den Beginn des darauffolgenden Kalenderjahres:
fraction_of_year_passed.py
start_of_year = pd.Timestamp(now.year, 1, 1)
start_of_next_year = pd.Timestamp(now.year + 1, 1, 1)Nun berechnen wir die Anzahl der Sekunden im gesamten Jahr und die Anzahl der vergangen Sekunden zwischen Jahresbeginn und date:
fraction_of_year_passed.py
entire_year_seconds = (start_of_next_year - start_of_year).total_seconds()
seconds_since_start_of_year = (date - start_of_year).total_seconds()Der Rest ist einfach: Teilen Sie einfach seconds_since_start_of_year / entire_year_seconds, um zu erhalten, welcher Anteil des Jahres bis date vergangen ist.
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow