如何加快/优化此熊猫代码?

时间:2019-04-03 14:23:06

标签: python pandas

我正在进行数据驱动的债券筛选,并输入1526列和2412行的大型数据集。对于10列,此刻需要2分钟的处理时间,这太多了。以下功能需要90%的时间:

该函数的输入是df:一个熊猫系列,其中索引是一个时间序列,第一列具有浮点数,如下所示:

https://imgur.com/a/3pQSQZC

def future_returns(df):
    grid_columns = np.arange(len(df))
    grid = pd.DataFrame(index=df.index, columns=grid_columns)

    # fill grid with copies of df, shifted 1 element forward for each column
    for no, idx in enumerate(grid.columns):
        grid.loc[:, idx] = df.shift(-no)

    # calculate future returns from every point in the index
    future_returns = grid.divide(grid.iloc[:, 0], axis=0) - 1

    return future_returns

0 个答案:

没有答案