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

如何通过输入指定编码获取numpy数组对应行排除编码后的最大值

问题原因

你现有代码的核心问题有两个:

  1. input()返回的是字符串类型,无法直接匹配数值类型的编码,需要先转换为整数
  2. numbers[choiceCode]是按下标索引取行,不是按第一列的编码值匹配行

修复后代码

import numpy as np

# 读取csv数据
numbers = np.genfromtxt('numbers.csv', delimiter=',', skip_header=True)
# 输入转整数
choiceCode = int(input('请输入编码:'))
# 布尔索引筛选第一列匹配的所有行
match_rows = numbers[numbers[:, 0] == choiceCode]

# 兼容编码不存在的场景
if len(match_rows) == 0:
    print("未查询到对应编码的记录")
else:
    # 遍历所有匹配行输出最大值
    for idx, row in enumerate(match_rows, 1):
        print(f"第{idx}条匹配行的最大值为:{np.max(row[1:])}")

补充说明

  • 用布尔索引numbers[:, 0] == choiceCode筛选行,适配同一个编码对应多条记录的场景(比如你的示例中编码5453就对应2行数据)
  • row[1:]直接取排除第一列后的所有值,不需要写死区间范围,后续表格新增列无需修改代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:24:05