如何批量计算方差,每一个月的数据计算一个方差,由于数据量庞大,希望各位指教。
参考
https://www.ab62.cn/article/1687.html
把sum()改成var()就是计算方差或者改成std()计算标准差
import pandas as pd
data=pd.read_excel('aaa.xlsx',usecols=['日期_Date','收盘价_Clpr'])
data['日期_Date']=pd.to_datetime(data['日期_Date'])
data=data.set_index('日期_Date')
res = data.resample('m').var().to_period('m')
res = res.reset_index()
print(res)
res.to_excel(r'结果.xlsx',index=None)
遍历每个月,然后计算其方差不就行了吗?你想怎样?
import pandas as pd
import numpy as np
df = pd.DataFrame(data = {'d': ['2005-05-12', '2005-05-13','2005-05-14', '2005-05-15', '2005-06-03', '2005-06-04'],
'clpr': [1, 2, 3,4, 2, 3]})
df['d'] = pd.to_datetime(df['d'])
df['dd'] = df['d'].dt.strftime("%Y%m")
def fun(se):
ss = np.var(se.tolist())
return ss
df = df.groupby('dd')['clpr'].apply(fun)
print(df)
数据量很大?那建议用pandas处理。
方差=平方的均值减去均值的平方。