Declarație problemă
Să presupunem că avem un set de date de serie cronologică care conține cifrele zilnice de vânzări ale unui magazin cu amănuntul timp de un an. Sarcina noastră este să analizăm acest set de date și să calculăm media rulantă pe 7 zile a vânzărilor pentru a netezi eventualele anomalii, a identifica tendințele și a ghida deciziile de afaceri. Vom folosi Python, un limbaj de programare bine-cunoscut și utilizat pe scară largă pentru analiza datelor.
Abordarea soluției
Pentru a rezolva problema ferestrei rulante, vom urma acești pași:
- Importați bibliotecile necesare
- Încărcați setul de date
- Creați fereastra rulanta
- Calculați media mobilă pe 7 zile
- Vizualizați rezultatele
Să începem cu importarea bibliotecilor necesare și încărcarea setului de date.
import pandas as pd import numpy as np import matplotlib.pyplot as plt # Load dataset (Assuming the dataset is a CSV file) data = pd.read_csv('sales_data.csv') # Preview the dataset print(data.head())
După ce am încărcat setul de date, trecem acum la crearea ferestrei rulante.
Crearea ferestrei rulante
Ne îndreptăm către cei puternici ursi panda bibliotecă pentru a crea o fereastră rulantă folosind rolling()
funcţie. Fereastra rulantă va avea o dimensiune de 7 zile, deoarece dorim să calculăm media mobilă pe 7 zile.
# Create a rolling window of 7 days rolling_window = data['sales'].rolling(window=7)
Acum că avem fereastra de rulare, putem calcula media mobilă pe 7 zile.
Calcularea mediei mobile pe 7 zile
Pentru a găsi media mobilă pe 7 zile a vânzărilor, numim pur și simplu mean()
funcția pe obiectul nostru fereastră rulantă. Apoi adăugăm această nouă medie mobilă ca o nouă coloană în setul nostru de date.
# Calculate the moving average data['7_day_avg'] = rolling_window.mean() # Preview the updated dataset print(data.head(10))
În cele din urmă, să vizualizăm rezultatele noastre pentru a înțelege mai bine tendințele în datele noastre.
Vizualizarea rezultatelor
Vom folosi popularul matplotlib bibliotecă pentru a crea o diagramă cu linii simplă care să prezinte atât datele vânzărilor zilnice, cât și media noastră mobilă calculată pe 7 zile.
# Plot the daily sales data plt.plot(data['sales'], label='Daily Sales') # Plot the 7-day moving average plt.plot(data['7_day_avg'], label='7-Day Moving Average', color='red') # Add labels and legend plt.xlabel('Days') plt.ylabel('Sales') plt.title('Daily Sales and 7-Day Moving Average') plt.legend() # Display the plot plt.show()
Graficul generat afișează datele zilnice despre vânzări împreună cu media mobilă pe 7 zile, ceea ce ne face mai ușor să identificăm tendințele și anomaliile.
În concluzie, fereastra de rulare este utilizată pe scară largă în analiza datelor, în special în serii de timp, pentru capacitatea sa de a dezvălui modele și tendințe ascunse în seturi mari de date. Combinația dintre Python, Pandas și Matplotlib simplifică procesul de calcul al mediei mobile și de vizualizare a rezultatelor, făcându-l un subiect accesibil atât pentru începători, cât și pentru experții în domeniu.