python)如何通过变量或使用类导入某些内容

时间:2018-11-28 01:46:59

标签: python function class import

我想从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数据。

编辑) 我不太擅长class。 如果有更好的方法(例如class)来实现我上面的要求, 请教我如何编码:)

1 个答案:

答案 0 :(得分:0)

您可以使用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
相关问题