“Pandas de fechas completas por grupo por” Código de respuesta

Pandas de fechas completas por grupo por

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

Pandas de fechas completas por grupo por

# 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

Respuestas similares a “Pandas de fechas completas por grupo por”

Preguntas similares a “Pandas de fechas completas por grupo por”

Más respuestas relacionadas con “Pandas de fechas completas por grupo por” en Python

Explore las respuestas de código populares por idioma

Explorar otros lenguajes de código