色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 滑動(dòng)平均法

Python語(yǔ)言中的滑動(dòng)平均法是指通過(guò)移動(dòng)窗口的方式,對(duì)一列數(shù)據(jù)進(jìn)行平均值的計(jì)算,從而平滑數(shù)據(jù)的波動(dòng)。常常用于時(shí)間序列數(shù)據(jù)的處理和預(yù)測(cè)中,如股票價(jià)格、氣溫變化等。

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

在上述代碼中,首先導(dǎo)入了NumPy庫(kù),用于數(shù)組操作,定義了一個(gè)moving_average()函數(shù)實(shí)現(xiàn)滑動(dòng)平均法。該函數(shù)實(shí)現(xiàn)中,先定義了一個(gè)權(quán)重向量weights,使用np.repeat()函數(shù)生成一個(gè)長(zhǎng)度為window_size的重復(fù)值為1.0的向量,再將其除以窗口大小,得到權(quán)重向量。最后使用np.convolve()函數(shù)實(shí)現(xiàn)卷積運(yùn)算,得到平滑后的數(shù)據(jù)。

下面給出一個(gè)例子,使用該函數(shù)實(shí)現(xiàn)股票價(jià)格的平滑處理:

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

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

滑動(dòng)平均法是一種簡(jiǎn)單有效的平滑數(shù)據(jù)的方法,可以在很多領(lǐng)域中得到應(yīng)用。Python語(yǔ)言的NumPy庫(kù)提供了豐富的數(shù)組操作函數(shù),在實(shí)現(xiàn)滑動(dòng)平均法時(shí)也變得非常方便。