假设我有一个浮点数据集 (x),它可以假设 0.0 和 1.0 之间的任何值。我想将数据分类到自定义垃圾箱中,例如: cat= 0 # the output category if x > 0.8 and x<=0.9: cat = 1 if x > 0.7 and x<=0.8: cat=2 if x>0.6 and x<=0.7: cat = 3等等......这是最有效的(就我必须写多少行而言)的方式来做到这一点?我在想是否有某种方法可以让我只指定类别的下限和上限以及类别编号,而不必写这么多 if 语句。
2 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
我建议您将数据移动到 Pandas 数据框中
df['data'] = pd.DataFrame(x)
binInterval = [0, 0.6, 0.7, 0.8, 0.9]
binLabels = [0, 4, 3, 2, 1]
df['binned'] = pd.cut(df['data'], bins = binInterval, labels=binLabels)
慕神8447489
TA贡献1780条经验 获得超1个赞
简单地:
categories = [0.6, 0.7, 0.8, 0.9]
cat = [categories[i]<x and categories[i+1]>=x for i in range(0, len(categories)-1)].index(True) + 1
添加回答
举报
0/150
提交
取消