字符串 eval() 的替代方法

时间:2021-04-08 21:56:19

标签: python

我有一个名为 tr 的数据帧字典。每个数据帧都以 train_fold_1 命名。调用数据帧如下所示:tr['train_fold_1'].

我想选择每个数据框的一部分并重命名它们。

这有效:

i = 2
X_ = {}
X_[i] = eval("tr['df_train_fold_" + str(i) + "']").iloc[:,1]

但是如何在不使用 eval() 的情况下执行此过程?

2 个答案:

答案 0 :(得分:2)

这里根本不需要 eval(),因为数据框的名称不是变量名,而只是用作字典中键的字符串 .

i = 2
X_ = {}
X_[i] = tr['df_train_fold_' + str(i)].iloc[:,1]

答案 1 :(得分:0)

如果您想将键作为整数而不是字符串(在某些情况下很有用),您可以将“eval”替换为“int”。