控制台终止时数据框是否保留

Does dataframe remain when console is terminated

我创建了一个 Pandas 数据框:

scores = pd.DataFrame(
        {"batch_size" : list(range(64)),
         "learning_rate" : list(range(64)),
         "dropout_rate" : list(range(64)),
         "accuracies" : [[0]]*64,
         "loss" : [[0]]*64,
         "training_time" : list(range(64)),
         }, index = list(range(64)))

然后,在循环中我 运行 64 个模型并将结果添加到列表中。

循环仍在进行中,我不希望它在我的截止日期之前完成。因此,我想终止控制台并继续使用目前已存储在 scores 中的信息。但是,如果我在终止循环后仍然可以访问数据帧,我只想这样做。

如果我在循环仍在 运行ning 时终止循环,我可以使用具有中间结果的数据帧吗?

  1. 如果可能的话,我会优先考虑 pandas 方法而不是使用 for 循环,因为这会解决核心问题。更好的是,如果您能够将 for 循环更改为 pandas 方法,并且您希望执行得更快,那么许多 pandas 方法也可以被一个名为 python 的大数据库使用dask。这有点高级,但我在一个大型项目中处于类似的位置,dask 是一个很好的解决方案,但我花了一天左右的时间来适应这个库并将我的代码从 pandas 到天亮。

  2. 如果您只想保持代码原样并在 pandas 中执行此操作,那么我会考虑将数据帧分成块,如果它仍然需要永远处理:

    n = 100000
    scores_df_list = [scores[i:i+n] for i in range(0,scores.shape[0],n)]
    i=0
    for df in scores_df_list:
        i+=1
        #inefficient for loop code on large dataset...
        #inefficient for loop code on large dataset continued...
        df.to_csv(f'file{i}.csv')
    

从@ScottBoston 的回答中查看更多信息,如果有帮助,请为他的解决方案投票::