Python) как импортировать что-то по переменной или с помощью класса - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу импортировать данные по одному из sklearn.datasets и сделать dataframe, как показано ниже:

# load_iris, load_wine, and etc.    
from sklearn.datasets import load_iris
iris = load_iris()

df = pd.DataFrame(iris.data, columns=iris.feature_names)
s = pd.Series(iris.target, dtype="category")
s = s.cat.rename_categories(iris.target_names)
df['target'] = s

на основе этого кода выше, я собираюсь сделать функцию, как показано ниже:

def load(data_cmd, key):

    from sklearn.datasets import data_cmd
    key = data_cmd()

    df = pd.DataFrame(key.data, columns=key.feature_names)
    t = pd.Series(key.target, dtype="category")
    t = t.cat.rename_categories(key.target_names)

    return df

но я не знаю, как import данные по переменной или ключевому слову.

edit) Я не так хорош в class.если есть лучший способ, например class, реализовать то, что я просил выше, пожалуйста, научите меня его кодировать:)

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете использовать importlib:

import importlib

def load(data_cmd, key):

    data_method = getattr(importlib.import_module('sklearn.datasets'), data_cmd)
    key = data_method()

    df = pd.DataFrame(key.data, columns=key.feature_names)
    t = pd.Series(key.target, dtype="category")
    t = t.cat.rename_categories(key.target_names)

    return df
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...