Format von 60 auf 100'ter Einheit
Verfasst: Donnerstag 18. Februar 2021, 21:47
Hallo zusammen
gibt es in pandas(dataframe) eine einfache Möglichkeit die Zeit (timedelta64[ns]) in eine 100 Einheit umzuwandeln?
Beispiel: 10.30 auf 10,50
Jeden Eintrag durchlaufen und umwandeln ist die Alternative, jedoch denke ich, dass es eine bessere Lösung gibt also wie nachstehend.
gibt es in pandas(dataframe) eine einfache Möglichkeit die Zeit (timedelta64[ns]) in eine 100 Einheit umzuwandeln?
Beispiel: 10.30 auf 10,50
Code: Alles auswählen
# Data Bereich setzen
mask = (data[self.DATUM_ZEIT] >= start_date) & (data[self.DATUM_ZEIT] <= end_date)
data = data.loc[mask]
perweek = data.groupby(by=[data[self.DATUM_ZEIT].dt.strftime('%W'), self.KOSTENSTELL]).sum()
perweek = perweek.reset_index()
# Format auf 'h,m' anpassen
perweek[self.DURATION] = perweek[self.DURATION].apply(lambda x: f'{x.components.hours:2d},'f'{x.components.minutes:2d}' if not pd.isnull(x) else '')
Code: Alles auswählen
def humanize_time(self, secs):
secs = abs(secs)
mins, secs = divmod(secs, 60)
hours, mins = divmod(mins, 60)
mins = mins / 3 * 5
return '%2d,%02d' % (hours, mins)