python - 将值附加到 numpy 数组时出现问题
问题描述
我在将正确的值附加到 python 数组时遇到问题。我在这里截取了一个代码:
p = np.zeros(8)
h = [2,3,7,4,5,6,1,9]
h = np.array(h)
for i in (0,7):
if (h[i] >= 5):
p[i]=1
else:
p[i]=3
p
我期望的输出是 [3,3,1,3,1,1,3,1],但由于某种原因,我不断得到 [3., 0., 0., 0., 0., 0 ., 0., 1.]。似乎第一个和最后一个数组值被正确读取和附加,但所有其他元素都没有。我确信这只是一些愚蠢的错误,但我似乎无法找到它。
解决方案
您可以使用numpy.where
:
np.where(h>5, 1, 3)
输出:
array([3, 3, 1, 3, 3, 1, 3, 1])
推荐阅读
- mysql - 反向累积和 - MySQL
- assembly - 如何从程序集中打印浮点数?
- javascript - 如何将嵌套数组映射到 React 中的列表中?
- c# - 使用 MSBuild 时加载的 nuget 包与使用 Visual Studio 构建时加载的不同
- python - 枚举文本的段落
- java - 我应该使用哪种 Java 数据结构来存储长度未知的信息,并且不允许使用 ArrayLists?
- java - 代码在调试模式下工作,但在 JAVA 中正常执行时不工作
- python - 在 Python 中实现可观察集合的推荐方法?
- kubernetes - Gitlab Auto DevOps 入口端点
- php - 为什么我发送超过 100 封电子邮件后邮件功能不再起作用?