python - 根据大于一行的值分配 0 和 1

标签 python numpy

假设我有一个包含 1 到 10 整数的数组,必须用 0 替换所有小于 6 的整数,用 1 替换所有等于或大于 6 的整数。目前,我正在这样做:

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

我想知道有什么方法可以将这两个语句组合成一行代码,或者任何其他解决方案。

最佳答案

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

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

其中 astype(int) 会将 bool 数组 arry >= 6 转换为整数数组。

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

相关文章:

python - Django 忽略过滤器

python - 使用 numba JIT 加速函数时遇到问题

c++ - 在 Cython 中处理 C++ 数组(使用 numpy 和 pytorch)

python - 迭代矩阵,对某些行求和并将结果添加到另一个数组

python - 如何在 Numpy 中将索引数组转换为掩码数组?

python - 如何将文件名传递给从 Python 执行的外部命令?

python - 网站可以使用我的一半网页抓取代码,但另一半会给出错误消息

python - Django - 通过排序合并两个查询集

python - 如何在具有分层索引的 pandas 数据框中添加和计算(基于其他列)子列?

python - 在 Python 中的 pandas 数据框上创建通用数据过滤器