Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python面板替换_Python_Pandas - Fatal编程技术网

Python面板替换

Python面板替换,python,pandas,Python,Pandas,Python不再使用面板。我没有足够的技能去想一个替代方案,并希望有人知道一个工作环境。我已经使用下面的代码有一段时间了,但是在更新之后它就不再工作了。我更愿意更新代码,然后恢复到不受支持的旧版本。我遇到的问题是面板已停用。你能找到解决这个问题的办法吗?因为我要做的是找到股票的贝塔系数。我从下面的链接中获取了代码 找到了答案。我想我会在有人需要的时候发布 from numpy.lib.stride_tricks import as_strided as stride import pandas

Python不再使用面板。我没有足够的技能去想一个替代方案,并希望有人知道一个工作环境。我已经使用下面的代码有一段时间了,但是在更新之后它就不再工作了。我更愿意更新代码,然后恢复到不受支持的旧版本。我遇到的问题是面板已停用。你能找到解决这个问题的办法吗?因为我要做的是找到股票的贝塔系数。我从下面的链接中获取了代码


找到了答案。我想我会在有人需要的时候发布

from numpy.lib.stride_tricks import as_strided as stride
import pandas as pd

def roll(df, w, **kwargs):
    v = df.values
    d0, d1 = v.shape
    s0, s1 = v.strides

    a = stride(v, (d0 - (w - 1), w, d1), (s0, s0, s1))

    rolled_df = pd.concat({
        row: pd.DataFrame(values, columns=df.columns)
        for row, values in zip(df.index, a)
    })

    return rolled_df.groupby(level=0, **kwargs)

roll(df, 2).mean()
链接到我找到的答案


在后来版本的pandas中,面板被multindex取代(参见此处)
from numpy.lib.stride_tricks import as_strided as stride
import pandas as pd

def roll(df, w, **kwargs):
    v = df.values
    d0, d1 = v.shape
    s0, s1 = v.strides

    a = stride(v, (d0 - (w - 1), w, d1), (s0, s0, s1))

    rolled_df = pd.concat({
        row: pd.DataFrame(values, columns=df.columns)
        for row, values in zip(df.index, a)
    })

    return rolled_df.groupby(level=0, **kwargs)

roll(df, 2).mean()