将不同的数据框分配给不同的变量

时间:2019-04-01 11:52:12

标签: python python-3.x pandas

我正在为算法创建测试和训练数据。我在不同的csv文件中有数据,因此我想从中创建训练和测试数据。

我已使用以下命令将所有csv文件导入到pandas数据框

dfs = [pd.read_csv(file) for file in datafiles]

dfs [1]具有第一个数据帧dfs [2],依此类推

我想以Xtest1是dfs [1],Xtest2是dfs [2]的格式将它们分配给不同的数据帧,依此类推,直到文件结尾

任何人都可以使用循环或任何其他想法来帮助实现这一目标

2 个答案:

答案 0 :(得分:0)

您需要使用字典来执行此操作。您可以尝试以下方法吗?

dfs = {'Xtest'+ str(ind): pd.read_csv(file) for ind, file in enumerate(datafiles)}

并且每当需要访问数据框时,都可以通过以下方式进行操作:

dfs['Xtest1']

如果要迭代字典,可以使用以下命令:

for i in range(4):
    print(dfs['Xtest' + str(i)])

答案 1 :(得分:0)

您的意思是自动创建变量并为其分配某些内容?

尝试globals(),locals()

for a in range(10):
    locals()["var1_"+str(a)+"] = 1