假设我有一个整数从1到10的数组,并且必须将所有小于6的整数替换为0,并将所有等于或大于6的整数替换为1。当前,我正在这样做:

arry[arry < 6] = 0
arry[arry >= 6] = 1


我想知道将这两个语句合并为一行代码,或针对此问题的任何其他解决方案的方法。

最佳答案

我假设arry是一个numpy数组(您使用的智能索引似乎表明了这一点)。在这种情况下,您可以简单地执行以下操作:

arry = (arry >= 6).astype(int)


其中astype(int)将布尔值arry >= 6的数组转换为整数数组。

关于python - 根据大于一行的值分配0和1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26858192/

10-12 19:05