【发布时间】:2018-12-07 13:12:22
【问题描述】:
我正在与来自sklearn.datasets 的iris_dataset 一起玩
我想生成类似于iris_dataset['target'] 的列表,但要使用类名而不是索引。
我的做法:
from sklearn.datasets import load_iris
iris_dataset=load_iris()
y=iris_dataset.target
print("Iris target: \n {}".format(iris_dataset.target))
unique_y = np.unique(y)
class_seq=['']
class_seq=class_seq*y.shape[0]
for i in range(y.shape[0]):
for (yy,tn) in zip(unique_y,iris_dataset.target_names):
if y[i]==yy:
class_seq[i]=tn
print("Class sequence: \n {}".format(class_seq))
但我不想循环遍历y 的所有元素,如何更好地做到这一点?
结果是我需要这个pandas.radviz 情节的列表才能有一个合适的图例:
pd.plotting.radviz(iris_DataFrame,'class_seq',color=['blue','red','green'])
并且进一步将它用于任何其他数据集。
【问题讨论】:
-
实际上最好使用第二个答案中给出的掩码,因为使用 np.arrays 而不是列表更容易,这是我在制定问题时的错误
标签: python-3.x pandas numpy iris-dataset