Python 如何在循环中将数据帧导出为CSV
我在10次迭代的循环中分析一些数据,每次迭代代表一个数据集。我已经设法在每次迭代结束时使用pandas创建了一个数据帧,现在我需要使用不同的名称导出每个数据帧。这里是代码的一部分Python 如何在循环中将数据帧导出为CSV,python,pandas,export-to-csv,Python,Pandas,Export To Csv,我在10次迭代的循环中分析一些数据,每次迭代代表一个数据集。我已经设法在每次迭代结束时使用pandas创建了一个数据帧,现在我需要使用不同的名称导出每个数据帧。这里是代码的一部分 for t in range(len(myFiles)): DATA = np.array(importdata(t)) data = DATA[:,1:8] Numbers = data[:,0:5] Stars = data[:,5:7] [numbers,repetitio
for t in range(len(myFiles)):
DATA = np.array(importdata(t))
data = DATA[:,1:8]
Numbers = data[:,0:5]
Stars = data[:,5:7]
[numbers,repetitions]=(Frequence(Numbers))
rep_n,freq_n = (translate(repetitions,data))
[stars,Rep_s] = (Frequence(Stars))
rep_s,freq_s = (translate(Rep_s,data))
DF1 = dataframe(numbers,rep_n,freq_n)
DF2 = dataframe(stars,rep_s,freq_s)
数据帧DF1和DF2必须在每个循环迭代中以不同的名称分别存储。您可以创建数据帧列表:
ListDF1, ListDF2 = [], []
for t in range(len(myFiles)):
...
rep_s,freq_s = (translate(Rep_s,data))
ListDF1.append(dataframe(numbers,rep_n,freq_n))
ListDF2.append(dataframe(stars,rep_s,freq_s))
然后,对于select DataFrame,请使用索引:
#get first DataFrame
print (ListDF1[0])
编辑:如果需要使用不同的文件名导出,请为DF1_0.csv、DF2_0.csv
使用t
变量,然后DF1_1.csv、DF2_1.csv
。。。文件名,因为python从0
开始计数:
for t in range(len(myFiles)):
...
DF1.to_csv(f'DF1_{t}.csv')
DF2.to_csv(f'DF2_{t}.csv')
您可以创建数据帧列表:
ListDF1, ListDF2 = [], []
for t in range(len(myFiles)):
...
rep_s,freq_s = (translate(Rep_s,data))
ListDF1.append(dataframe(numbers,rep_n,freq_n))
ListDF2.append(dataframe(stars,rep_s,freq_s))
然后,对于select DataFrame,请使用索引:
#get first DataFrame
print (ListDF1[0])
编辑:如果需要使用不同的文件名导出,请为DF1_0.csv、DF2_0.csv
使用t
变量,然后DF1_1.csv、DF2_1.csv
。。。文件名,因为python从0
开始计数:
for t in range(len(myFiles)):
...
DF1.to_csv(f'DF1_{t}.csv')
DF2.to_csv(f'DF2_{t}.csv')
您可以使用datetime的微秒,因为它会有所不同
从日期时间导入日期时间
对于范围内的t(len(myFiles)):
数据=np.数组(导入数据(t))
数据=数据[:,1:8]
数字=数据[:,0:5]
星=数据[:,5:7]
[数字,重复]=(频率(数字))
重复,频率=(翻译(重复,数据))
[星,代表]=(频率(星))
代表,频率=(翻译(代表,数据))
DF1=数据帧(数字、代表、频率)
DF2=数据帧(星型、代表型、频率型)
DF1.to_csv(f'DF1_{datetime.now().strftime('%f')}.csv'))
DF2.to_csv(f'DF2_{datetime.now().strftime('%f')}.csv'))
您可以使用datetime的微秒,因为它会有所不同
从日期时间导入日期时间
对于范围内的t(len(myFiles)):
数据=np.数组(导入数据(t))
数据=数据[:,1:8]
数字=数据[:,0:5]
星=数据[:,5:7]
[数字,重复]=(频率(数字))
重复,频率=(翻译(重复,数据))
[星,代表]=(频率(星))
代表,频率=(翻译(代表,数据))
DF1=数据帧(数字、代表、频率)
DF2=数据帧(星型、代表型、频率型)
DF1.to_csv(f'DF1_{datetime.now().strftime('%f')}.csv'))
DF2.to_csv(f'DF2_{datetime.now().strftime('%f')}.csv'))
谢谢,现在关于导出部分,您知道如何在循环中导出每个名称不同的文件吗?我尽量不手动操作。我来自matlab背景,在这种环境下是可能的,所以我想知道我是否可以在这里做同样的事情,它是有效的!,谢谢谢谢,现在关于导出部分,您知道如何在循环中导出每个名称不同的文件吗?我尽量不手动操作。我来自matlab背景,在这种环境下是可能的,所以我想知道我是否可以在这里做同样的事情,它是有效的!,谢谢