python - 根据列表从二维 Numpy 数组中删除元素
问题描述
提前感谢您查看我的帖子。
我有一个名为 (2,x) 的二维 np.array actions
,其中包含int
s
我有另一个 1d np.arraykeys
与actions
: 的第一个维度具有相同类型的元素actions[0]
。我想从actions
所有数组元素中删除keys
. 我试过diff = actions[:, not actions[0] == kids_keys]
了,但它返回一个 (1,2,x) 形状的 3d 数组。
我怎样才能得到一个 (2,x)diff
数组?
例如:
actions = [[121122, 211122, 221122, ... 455544, 545544][0, 0.35, 0.75, ... 1, -0.25]]
keys = [211122 221122]
# The operation I am looking for:
actions - keys = [[121122, ... 455544, 545544][0, ... 1, -0.25]]
解决方案
使用np.isin
:
mask = np.isin(actions[0], keys, invert=True)
result = actions[:, mask]
推荐阅读
- php - 两个页面之间的php会话
- python - 我不小心删除了我的 Jupyter Notebook
- java - 在字典中查找一个单词
- objective-c - 在 IORegisterForSystemPower 未能调用 IODeregisterForSystemPower 之后
- python - 在 selenium 中维护 xpath 的最佳方法是什么?
- module - 在 Ubuntu 中安装自定义内核会导致错误
- html - 隐藏 div 并存储本地存储在页面刷新时不显示 div
- editor - 没有 Ctrl + Space 的 Pine 脚本智能感知(自动完成)
- android - 为位图图像 Android 创建一个 xml 布局
- javascript - 我怎样才能发出命令将特定消息发送给特定的人?