我有一个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)
但还有另一种方法吗?
答案 0 :(得分:1)
如果您拥有数组形式的数据,请先将其转换为pandas数据帧,然后执行data['output'].unique()
。它将为您提供唯一输出的列表。 data['output'].nunique()
为您提供输出列中唯一值的数量。 data
是您的数据框,output
是您的标签列。