我在python中运行模拟,将结果写入Pandas DataFrame并将数据附加到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 :(得分:0)
您总是可以将运行编号设为从均匀随机分布中提取的整数,这样就不太可能绘制出两个相同的值:
run_n = np.random.randint(1e9)
或者,您可以增加每个运行编号,以便保证使用run_n
策略不会使两个运行具有相同的counter
。