我有一个任意的数据集,以嵌套列表的形式给出。我希望将数据> 0中的所有值替换为1,以创建一种二进制数组。类似于规范化。
我在想,最好用for循环来完成。我尝试使用枚举,但是对枚举类型感到困惑。
例如:
test = [[5,5,0,0,5],[0,0,0,0,5]]
for i in range(len(test)):
for j in range(len(test[i])):
if j > 0:
test[i][j] = 1
我希望:
[[1,1,0,0,1],[0,0,0,0,1]]
但是得到了:
[[5, 1, 1, 1, 1], [0, 1, 1, 1, 1]]
任何帮助将不胜感激。
答案 0 :(得分:0)
由于需要替换> 0的值,因此条件应如下。选中j > 0
意味着除第一个嵌套列表值以外的所有嵌套列表值都将设置为1
。
test = [[5,5,0,0,5],[0,0,0,0,5]]
for i in range(len(test)):
for j in range(len(test[i])):
if test[i][j] > 0:
test[i][j] = 1