首页 > 解决方案 > 生成新行并将它们附加到 DataFrame 的最快方法

问题描述

我想在一定的时间间隔内改变数据集中的目标值。当使用 500 个数据时,大约需要 1.5 秒,但我有大约 100000 个数据。大部分执行时间都花在了这个过程中。我想加快速度。

将行附加到 DataFrame 的最快和最有效的方法是什么? 我尝试了此链接中的解决方案,尝试创建字典,但我做不到。

这是 500 个数据大约需要 1.5 秒的代码。

def add_new(df,base,interval):
    df_appended = pd.DataFrame() 
    np.random.seed(5)
    s = np.random.normal(base,interval/3,4)
    s = np.append(s,base)
    for i in range(0,5):
        df_new = df
        df_new["DeltaG"] = s[i]
        df_appended = df_appended.append(df_new)
    return df_appended

标签: pythondataframedictionary

解决方案


def add_new(df1,base,interval,has_interval):
    dictionary = {}
    if has_interval == 0:
        for i in range(0,5):
            dictionary[i] = (df1.copy())
    elif has_interval == 1:
        np.random.seed(5)
        s = np.random.normal(base,interval/3,4)
        s = np.append(s,base)
        for i in range(0,5):
            df_new = df1
            df_new[4] = s[i]

            dictionary[i] = (df_new.copy())
    return dictionary

有用。整个数据大约需要 10 秒。感谢您的回答。


推荐阅读