0

我创建了一个类,用于操作和处理我的数据。

class DataSet():
    def __init__(self, path, label_names, ohe_names, random_state=420):
        self.df = pd.read_csv(path)
        self.random_state = random_state
        self.encodings = LabelEncoder() 
        self.scaler = StandardScaler()

我想为目录中的每个文件创建一个新的 DataSet 对象,其中 DataSet 的名称是文件名。

到目前为止我有这个代码。

for file in os.listdir('data/'):
    name = file[:-4]
    path = 'data/'+file

每一个name,例如 'fox',都应该是一个名为 的新 DataSet 对象name/fox。我怎样才能做到这一点?

希望这是有道理的。提前致谢。

4

2 回答 2

1

鉴于您对自己的答案感到满意,您还应该考虑将DataSet实例存储在容器中。我建议一个dict

frames = {}
for file in os.listdir('data/'):
    name = file[:-4]
    path = 'data/'+file
    frames[name] = DataSet(path)
print(frames)
于 2020-07-11T17:21:45.800 回答
0

我设法弄清楚了。

for file in os.listdir('data/'):
    name = file[:-4]
    path = 'data/'+file
    exec("{} = DataSet('{}')".format(name, path))
    
于 2020-07-11T17:07:16.190 回答