我开始用虹膜数据集学习Python机器学习的基础知识。我使用以下代码加载数据集:
from sklearn.datasets import load_iris
iris_dataset = load_iris()
然后我开始查看每个键的形状,但有些键是列表而没有形状。所以我用type(iris_dataset['feature_names'])
查看每个键的类型。但是,我不想为每个密钥重复此代码。是否可以在此虹膜对象中获取每个键的类型?我试过这个,但显然不起作用:
In [30]: type(iris_dataset.keys())
Out[30]: dict_keys
答案 0 :(得分:1)
所以我用
查看每个键的类型type(iris_dataset['feature_names'])
注意:您似乎希望将所有值的类型设置为不同的键,而不是键本身的类型。
您可以使用列表理解,对数据中的每个键应用type
函数:
[type(iris_dataset[key]) for key in iris_dataset]
但是,假设iris_dataset
是某种dict
,键可能有任何顺序,因此单独列出类型还不能告诉您哪种类型对应于什么键的值。相反,您可能更喜欢元组列表(key, type)
:
[(key, type(iris_dataset[key])) for key in iris_dataset]
答案 1 :(得分:0)
您可以将内置类型映射到dict的键,并将map()
包装在list()
中以获取列表:
dict_key_types = list(map(type, iris_dataset.keys()))