我想从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
)来实现我上面的要求,
请教我如何编码:)
答案 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