Code
pandas
import pandas as pd
df = pd.DataFrame({
"date": ["2024-01", "2024-01", "2024-02", "2024-02"],
"city": ["NYC", "LA", "NYC", "LA"],
"sales": [100, 80, 120, 90],
})
# Wide format: one row per date, one column per city
wide = df.pivot(index="date", columns="city", values="sales")
# Aggregating pivot handles duplicates
pv = df.pivot_table(index="date", columns="city",
values="sales", aggfunc="sum", margins=True)
# Melt back to long
long = wide.reset_index().melt(id_vars="date", var_name="city",
value_name="sales")
print(wide, pv, long)