检查数组或Dataframe的所有可能标签(y)

时间:2017-07-21 18:04:02

标签: python pandas numpy dataframe

我有一个12k样本的数据集,每个样本都有一个标签y。如何从这12k样品中提取所有可能的输出? (输出可以在50到60个不同的值之间变化......我不知道)。

这是否有内置功能?一种不同于在所有样本上使用for的方式,例如60次......我不了解你,但这种处理失败会让我感到不安并使代码变得如此丑陋。

注意:我不想要一个包含每个样本的y的列表,我只想知道我有多少,所以我可以设置'输出数量'我的学习模式。

我解决了它:

    notfound = 0
    n_outputs = 0
    for num in range(1,80):
        temp = n_outputs
        try:
            for i in range(len(y)):
                if int(y[i]) == num:
                    n_outputs += 1
                    raise StopIteration

        except StopIteration:
            pass
        if temp == n_outputs:
            notfound += 1
        if notfound == 3:
            break

    print(n_outputs)

但还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

如果您拥有数组形式的数据,请先将其转换为pandas数据帧,然后执行data['output'].unique()。它将为您提供唯一输出的列表。 data['output'].nunique()为您提供输出列中唯一值的数量。 data是您的数据框,output是您的标签列。