how to do moving average in python?
authorHow to Perform Moving Average in Python
The moving average is a popular statistical tool used to estimate the average value of a series of data points over a specific time period. It is particularly useful for smoothing out fluctuations in financial data, market trends, and other time-series data. In this article, we will learn how to perform a moving average in Python, using the pandas library.
Step 1: Import the necessary libraries
Before we can start calculating moving averages, we need to import the pandas library and create a sample data frame.
```python
import pandas as pd
import numpy as np
# Create a sample data frame
data = {
'Date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05'],
'Value': [100, 150, 120, 170, 140]
}
df = pd.DataFrame(data)
```
Step 2: Calculate the moving average
Now, we can calculate the moving average for each value in the data frame. The pandas library provides a built-in function called `rolling()` that makes this task very easy.
```python
# Calculate the moving average for each value
moving_avg = df['Value'].rolling(window=3).mean()
```
Here, `window=3` represents the number of points we want to consider for the moving average. You can change this value based on your requirement.
Step 3: Add the moving average column to the data frame
Now, we need to add the `moving_avg` column to the original data frame.
```python
# Add the moving average column
df['moving_avg'] = moving_avg
```
Step 4: View the result
Finally, we can view the result by printing the data frame.
```python
print(df)
```
You should see a data frame with two additional columns - `Date` and `moving_avg`. The `moving_avg` column contains the moving average values for each date.
In this article, we learned how to perform a moving average in Python using the pandas library. The moving average is a useful tool for analyzing time-series data and making informed decisions. By understanding how to calculate moving averages in Python, you can apply this technique to your own data analysis projects.