我有多个训练和测试数据框。
例如:train1, train2, train3 直到 train10。测试数据框也是如此。
我想遍历这些数据框,类似于这样:(注意:代码有错误,但只是为了给您一个概念):我不想将它们合并成一个。
for i in range(1,10): y%i = train%i['Labels'] X%i = train%i.drop('Labels',axis=1) clf.fit(X%i,y%i) output%i = clf.predict(test%i)
这是可行的吗?
回答:
试试这个…另外,我认为您不需要恢复中间变量如X,Y
variables = locals()for i in list(range(1,11)): variables["y{0}".format(i)]= variables["train{0}".format(i)]['Labels'] variables["x{0}".format(i)]= variables["train{0}".format(i)].drop('Labels',1) clf.fit(variables["x{0}".format(i)], variables["y{0}".format(i)]) variables["output{0}".format(i)]= clf.predict(variables["x{0}".format(i)], variables["y{0}".format(i)])
我将要做的
variables = locals()for i in list(range(1,11)): y= variables["train{0}".format(i)]['Labels'] x= variables["train{0}".format(i)].drop('Labels',1) clf.fit(x,y) variables["output{0}".format(i)]= clf.predict(x,y)