欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 滑動平均法

江奕云2年前10瀏覽0評論

Python語言中的滑動平均法是指通過移動窗口的方式,對一列數據進行平均值的計算,從而平滑數據的波動。常常用于時間序列數據的處理和預測中,如股票價格、氣溫變化等。

import numpy as np
def moving_average(data, window_size):
"""
滑動平均法實現函數
:param data: 待平滑的數據,numpy數組類型
:param window_size: 窗口大小
:return: 平滑后的數據
"""
weights = np.repeat(1.0, window_size) / window_size
return np.convolve(data, weights, 'valid')  # 使用卷積實現滑動平均法

在上述代碼中,首先導入了NumPy庫,用于數組操作,定義了一個moving_average()函數實現滑動平均法。該函數實現中,先定義了一個權重向量weights,使用np.repeat()函數生成一個長度為window_size的重復值為1.0的向量,再將其除以窗口大小,得到權重向量。最后使用np.convolve()函數實現卷積運算,得到平滑后的數據。

下面給出一個例子,使用該函數實現股票價格的平滑處理:

import pandas as pd
import matplotlib.pyplot as plt
# 讀入數據
df = pd.read_csv('stock.csv')
# 計算平均價
df['MA20'] = moving_average(df['Close'], 20)
# 繪制圖形
plt.plot(df[['Close', 'MA20']])
plt.legend(['Close', 'MA20'])
plt.show()

在上述代碼中,首先導入了Pandas和Matplotlib庫,用于數據讀取和可視化。讀入了一個名為stock.csv的股票數據,并在其中添加了一列“MA20”表示20日平均價。最后使用Matplotlib庫繪制了Close和MA20的折線圖。

滑動平均法是一種簡單有效的平滑數據的方法,可以在很多領域中得到應用。Python語言的NumPy庫提供了豐富的數組操作函數,在實現滑動平均法時也變得非常方便。