Created
November 8, 2023 10:32
-
-
Save do-me/1f26a0fee13c44744ff91f7d3ebec093 to your computer and use it in GitHub Desktop.
Pandas groupby with sum and original min index number
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import pandas as pd | |
| df = pd.read_excel("adressen.xlsx") | |
| grouped = df.groupby(["Straße", "Hausnummer", "PLZ", "Ort"]).agg({'Servicezeit in Sekunden': 'sum'}).reset_index() | |
| ### originale Reihenfolge ableiten | |
| grouped['Reihenfolge'] = df.groupby(["Straße", "Hausnummer", "PLZ", "Ort"]).apply(lambda x: list(x.index)).reset_index(drop=True) | |
| grouped['Reihenfolge'] = grouped['Reihenfolge'] .apply(lambda x: min([int(i) for i in x])) | |
| grouped = grouped.sort_values("Reihenfolge").reset_index(drop=True) | |
| grouped["Tag"] = grouped.index | |
| ### hhmmd aufbereiten | |
| grouped["Zeitfenster_HHMMD"] = grouped.Tag.apply(lambda x: f"[08:00(+{x}),12:00(+{x})]") | |
| del grouped["Reihenfolge"] | |
| grouped.to_excel("grouped.xlsx", index=False) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment