“Kompletne daty pandy na grupę według” Kod odpowiedzi

Kompletne daty pandy na grupę według

s = (pd.MultiIndex.from_tuples([[x, d]
      for x, y in df.groupby("Id")["Dt"]
      for d in pd.date_range(min(y), max(df["Dt"]), freq="MS")], names=["Id", "Dt"]))

print (df.set_index(["Id", "Dt"]).reindex(s, fill_value=0).reset_index())
Robson Melchiades

Kompletne daty pandy na grupę według

# Get Min Per Group
dates = mydf.groupby('Id')['Dt'].min().to_frame(name='min')
# Get max from Frame
dates['max'] = mydf['Dt'].max()

# Create MultiIndex with separate Date ranges per Group
midx = pd.MultiIndex.from_frame(
    dates.apply(
        lambda x: pd.date_range(x['min'], x['max'], freq='MS'), axis=1
    ).explode().reset_index(name='Dt')[['Dt', 'Id']]
)

# Reindex
mydf = (
    mydf.set_index(['Dt', 'Id'])
        .reindex(midx, fill_value=0)
        .reset_index()
)
Robson Melchiades

Odpowiedzi podobne do “Kompletne daty pandy na grupę według”

Pytania podobne do “Kompletne daty pandy na grupę według”

Więcej pokrewnych odpowiedzi na “Kompletne daty pandy na grupę według” w Python

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu