【发布时间】:2020-02-15 10:35:08
【问题描述】:
考虑以下简单示例:
x1, x2, x3, x4 = 0, 0, 0, 0
index = 0
for i in range(3):
index += 1
x1 += 2
x2 += 2
x3 += 2
x4 += 2
如何创建一个 txt 或 csv 文件,在每次迭代后将 x1、x2、x3、x4 和索引存储在单独的列中(总共 5 个)。是否也可以给每列一个标题?
最终结果应该是这样的
Index Data1 Data2 Data3 Data4
1 2 2 2 2
2 4 4 4 4
3 6 6 6 6
将存储的数据很好地分开很重要,因为它稍后将用于另一个计算。如果具有存储值的变量称为“data_”,我想应用切片操作,例如data_[:,0] = [1,2,3]。
编辑: @abc 我试过你的方法,但它不起作用
import pandas as pd
from numpy import array
index = 0
for i in range(3):
index += 1
x1 += 2
x2 += 2
x3 += 2
compact = [[index, x1, x2, x3]]
pd.DataFrame(compact, columns= ['Index','Data1','Data2','Data3']).to_csv('example.csv',index=False)
example.csv 文件只会获取最后的计算值,例如
在我的实际程序中,不可能先存储所有计算值(10^6 次迭代),然后才能保存它们。每次迭代后都需要存储这些值!
【问题讨论】:
-
你试过
pandas.to_csv()吗?
标签: python pandas dataframe save