You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查NumPy数组列是否含特定字符串并删除对应列?

如何删除NumPy数组中包含指定字符串的列

首先提一句:你给出的目标字符串是"Banana",但原数组里对应的是"Bananas"(末尾多了个s),下面的代码我会用"Bananas"来匹配,如果你确实要找"Banana",直接调整字符串内容就行。

实现思路分两步:

  • 定位目标字符串所在的列索引:用np.where找到元素的位置,提取对应的列值;
  • 删除目标列:用np.delete函数指定轴(axis=1代表操作列)和要删除的索引。

完整代码示例

import numpy as np

# 初始化原数组
contacts = np.array([
    ["Apples","Burger"],
    ["Bananas","Cake"],
    ["Grapes","Honey"]
])

# 找到"Bananas"所在的列索引
# np.where返回行、列两个数组,取列数组的第一个元素(因为只有一个匹配项)
target_col = np.where(contacts == "Bananas")[1][0]

# 删除目标列,axis=1表示对列进行操作
contacts = np.delete(contacts, target_col, axis=1)

print(contacts)

运行后输出结果:

[['Burger']
 ['Cake']
 ['Honey']]

扩展:处理多列匹配的情况

如果数组里有多个列包含目标字符串,可以收集所有匹配的列索引,一次性删除:

# 获取所有匹配的列索引并去重
target_cols = np.unique(np.where(contacts == "Bananas")[1])
# 批量删除列
contacts = np.delete(contacts, target_cols, axis=1)

内容的提问来源于stack exchange,提问作者maxefaxe11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:42:45