To make time series data more smooth in Pandas, we can use the exponentially weighted window functions and calculate the exponentially weighted average.

First, I am going to load a dataset which contains Bitcoin prices recorded every minute.

```
data = pd.read_csv('../input/bitstampUSD_1-min_data_2012-01-01_to_2019-03-13.csv')
data['date'] = pd.to_datetime(data['Timestamp'], unit="s")
input_data = data[["date", "Close"]]
subset = input_data[input_data["date"] >= "2019-01-01"]
subset.set_index('date', inplace=True)
```

I want to plot their daily weighted average, so I must compress 3600 values into one using this function:

```
subset['Close'].ewm(span = 3600).mean()
```

We see that by default the adjusted version of the weighted average function is used, so the first element of the time series is not 0.

Finally, I can plot the original data and both the smoothed time series:

```
subset['Close'].plot(style = 'r--', label = 'Bitcoin prices')
subset['Close'].ewm(span = 3600).mean().plot(style = 'b', label = ' Exponential moving average')
plt.legend()
plt.title("Bitcoin prices")
plt.xlabel('Date')
plt.ylabel('Price (USD)')
```