python - Python:循环矩阵以检查向量中的所有值
问题描述
我有这个向量:possibleGrades=np.array([-3,0,2,4,7,10,12])
我希望计算机告诉我这个矩阵中的哪些值不是来自向量:
[[ 7. 7. 4. ]
[12. 10. 10. ]
[-3. 7. 2. ]
[10. 8. 12. ]
[ nan 7. nan]
[ 7. 7. 10. ]
[ 4.5 nan 2. ]
[ 2. 12. 4. ]]
我的想法:
for i in range(matrixGr):
if (-3) in matrixGr:
pass
elif 0 in matrixGr:
pass
elif 2 in matrixGr:
pass
elif 4 in matrixGr:
pass
elif 7 in matrixGr:
pass
elif 10 in matrixGr:
pass
elif 12 in matrixGr:
pass
else:
print("The data set contains incorrect grades at {location?}!")
但这是不可能的,如何做到这一点超出了我的心理承受能力。
什么是聪明可行的方法?
如果可以说“行 X 包含无效的 8 级(例如)”,那就太好了,所以带有字符串“行 {:s} 的东西有无效的等级 {:s}”和 .format("something smart ")
有人能帮忙吗?
解决方案
你可以试试这个:
import numpy as np
possibleGrades = np.array([-3, 0, 2, 4, 7, 10, 12])
matrixGr = np.array([[7, 7, 4],
[12, 10, 10],
[-3, 7, 2],
[10, 8, 12],
[np.nan, 7, np.nan],
[7, 7, 10],
[4.5, np.nan, 2],
[2, 12, 4]])
locations = [(i, j) for i in range(matrixGr.shape[0]) for j in range(matrixGr.shape[1]) if matrixGr[i, j] not in possibleGrades]
locations:
[(3, 1), (4, 0), (4, 2), (6, 0), (6, 1)]
祝你好运 !
推荐阅读
- c# - 为什么我的退格返回一个新文本而不是更新当前文本?
- angular - 如何调试到 Angular Core.js
- ruby-on-rails - rails 覆盖嵌套属性更新
- swift - ARKit – 为参考图像尺寸输入的值重要吗?
- python - Python 抓取 AJAX 发布请求
- javascript - React Native 应用程序不再与 Firebase 连接
- java - 使用 LocationManager 关闭 GPS 服务
- javascript - SharePoint 2019 Suitebar 消失且无法更正
- flutter - 如何在 Flutter 上加载/缓存 .png?
- javascript - 创建上一个按钮和重置