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

机器学习技术问询:如何根据输入列名动态提取CSV列并输出Numpy数组

解决方案:动态从CSV提取指定列的Numpy数组

我来帮你搞定这个动态提取列的问题!你的核心痛点是代码里写死了列相关的配置,没法根据用户输入灵活调整——咱们只需要做两处关键调整,就能实现通用的提取逻辑:

关键思路拆解

  1. 读取用户动态输入:用input()获取CSV路径和目标列名,代替代码里写死的固定值
  2. 动态索引列数据:直接用输入的列名字符串去索引DataFrame,再转成Numpy数组

完整可运行代码

import pandas as pd

# 获取用户输入的文件路径和目标列名
csv_file = input().strip()
target_column = input().strip()

# 读取CSV文件
df = pd.read_csv(csv_file)

# 提取目标列并转为Numpy数组,这里用to_numpy()比.values更符合pandas新规范
result_array = df[target_column].to_numpy()

# 按照示例格式输出
print(result_array)

测试验证

用你给出的示例场景测试:

第一行输入:usercode/files/one.csv
第二行输入:a

输出结果为 [1 2];如果输入列名b,则输出[3 4],完美适配两种场景。

可选优化:增加异常处理

如果担心用户输入的列名不存在,可以加个简单的判断避免程序崩溃:

import pandas as pd

csv_file = input().strip()
target_column = input().strip()

df = pd.read_csv(csv_file)

if target_column not in df.columns:
    print(f"Error: 列名 {target_column} 不存在于当前CSV文件中")
else:
    result_array = df[target_column].to_numpy()
    print(result_array)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 04:14:06