大Pandas的摄动分析

2024-09-29 23:20:44 发布

您现在位置:Python中文网/ 问答频道 /正文

对于一个给定的序列,我想改变每个元素的当前值,然后计算一个任意函数(这里是std),如下代码所示:

import pandas as pd
import numpy as np

a = pd.Series(np.random.randn(10))
perturb = {}
for item in range(2,len(a)):
    serturb = {}
    for ep in np.arange(-1,1,0.1):
        temp = a.ix[0:item]
        temp.iloc[-1] += ep
        serturb[ep] = temp.std()
    perturb[item] = pd.Series(serturb)
perturb = pd.DataFrame(perturb).T

对于大量的数据,上面的代码将变得太慢。上述过程应用于DataFrame时,将返回Panel。有没有一种有效的方法,因为很多计算都在重复?在


Tags: 代码inimportdataframeforasnpitem

热门问题