python - 在numpy数组中满足条件时如何提取整行和列
问题描述
我有一个这种形式的numpy数组:
array([['A', 2.2, 9.1],
['A', 7.1, 2.3],
['B', 4.1, 1.1]],dtype=object)
所以我想查询'A',然后返回所有(匹配)字符串'A'的行和列。任何不符合条件的都将被忽略。所以输出应该是:
form = array([['A', 2.2, 9.1],
['A', 7.1, 2.3],dtype=object)
我尝试使用j = form[np.where(form == 'A')]
这给出了array(['A', 'A'], dtype=object)
. 这不是我想要的。
有人可以让我知道我该怎么做吗?
解决方案
您可以在使用时对数组进行切片,np.where()
以便只使用第一列:
form = np.array([['A', 2.2, 9.1],
['A', 7.1, 2.3],
['B', 4.1, 1.1]],dtype=object)
j = form[np.where(form[:,0]=='A')]
print (j)
# [['A' 2.2 9.1]
# ['A' 7.1 2.3]]
推荐阅读
- javascript - React 获取多个相互依赖的 API (async/await)
- sockets - 如何在socket.io中存储数据
- c - Linux 上的 UDP 或 TCP 缓冲区大小应该有多大?
- php - 如何在 OctoberCMS 的联接表中使用 where 子句?
- amazon-s3 - 如何修复ClientError:调用CreateBucket操作时发生错误(AccessDenied):调用create_bucket时访问被拒绝
- python - How to return aiohttp like python requests?
- python - ValueError: int() 以 10 为底的无效文字:'glassdoor',同时从自定义用户模型创建用户对象
- node.js - Resetting the state after every integration test - Supertest, Nodejs, Typescript
- c# - 如何从共享同一接口的对象列表中访问对象的特定属性
- python - Tox“错误:找不到文件:
"