2017-05-09 104 views
1

我正在python中运行模拟,将结果写入Pandas DataFrame并将数据附加到CSV文件。代码将会随着参数的可能变化而运行多次。是否有一种巧妙的方法将模拟的运行编号记录到CSV文件中以供将来的数据分析?将数据帧附加到CSV时添加运行编号

import pandas as pd 
    import random 

    # Create a data frame with random values of random length, append 
    # to a data frame and write to file. 

    df = dp.DataFrame() 

    for i in range(3): 
     length = random.randint(3,20) 
     aa = [random.randint(0,25) for i in range(length)] 
     aa = [random.randint(0,25) for i in range(length)] 
     run_n = [i * length] 

     aabb = list(zip(aa, bb, run_n) 
     aabb_df = pd.DataFrame(data=aabb, columns=['aa', 'bb', 'run_N']) 
     df = df.append(aabb_df) 

    with open(myfile, 'a') as csvfile: 
     df.to_csv(csvfile, index=False, header=False) 

记录运行的数量从for循环是直线前进,但我怀疑不正确。是否有可能检查运行的编号,并继续从那里读数而不读取整个文件。

提前致谢!

回答

0

你总是可以使运行次数从均匀随机分布,使得这是极不可能两个相同的值永远不会被绘制绘制的整数

run_n = np.random.randint(1e9) 

或者,您也可以增加每个运行数,以便确保没有两次运行使用counter策略将具有相同的run_n