Ravindra Bagale · Data Scienceसर्व coursesया course चे lessonsशोधाEnglish

Data Science · मराठी आवृत्ती

25.5 हलकी windows: rolling आणि expanding

By Ravindra Bagale

या course चे सर्व chapters (py + ch)

हे का शिकायचं?

7-day rolling mean noise कमी करते. Expanding = सुरुवातीपासून वाढणारी window.

हे काय आहे?

rolling(7).mean(), expanding().mean() — date sorted series वर.

कसं करायचं?

Step 1. Date sort.

Step 2. rolling window.

Step 3. expanding तुलना.

Step 4. Edge NaNs समजाून घ्या.

उदाहरणं: copy करा आणि चालवा

उदाहरण A — Rolling vs expanding.

import pandas as pd

s = pd.DataFrame({
    "order_date": pd.to_datetime(
        ["2026-10-20", "2026-10-21", "2026-10-22", "2026-10-23", "2026-10-24"]
    ),
    "orders": [400, 420, 410, 900, 880],  # Thu spike
})
s = s.sort_values("order_date")
s["roll3"] = s["orders"].rolling(3).mean()
s["expand_mean"] = s["orders"].expanding().mean()
print(s)

उदाहरण B — Rolling inside each city.

d = pd.DataFrame({
    "city": ["Pune"] * 4 + ["Nashik"] * 4,
    "day": list(range(1, 5)) * 2,
    "orders": [100, 110, 105, 200, 40, 42, 41, 90],
})
d["roll3"] = d.groupby("city")["orders"].transform(
    lambda x: x.rolling(3).mean()
)
print(d)

उदाहरण C — When not to use rolling.

Rani has only two days of Kolhapur data. A rolling(7) is empty almost everywhere — use expanding or wait for more days.