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

Python如何提取DataFrame指定分类的对应值存入列表

错误原因

你的代码存在两个核心问题:

  • 循环判断逻辑和取值逻辑不匹配:遍历Zip Code列的每个值时,触发条件后直接取了整个Score列赋值给listData,没有取当前行对应的Score值
  • 赋值逻辑错误:触发条件时用的是=赋值而非append()追加,只要有一个符合条件的邮编,listData就会被直接替换为整个Score列

解决方法

方法1:pandas向量化操作(推荐,性能远高于自定义循环)

直接按条件筛选行再提取Score列转列表即可,无需自行编写循环:

import pandas as pd
amesData = pd.read_csv(fileName, usecols = ['Zip Code','Score'])
listData = amesData.loc[amesData['Zip Code'] == 78701, 'Score'].tolist()

方法2:修改原有循环写法

如果要保留你原有循环的实现思路,需要同步遍历索引,按索引取对应行的Score值后追加到列表:

amesData = pd.read_csv(fileName, usecols = ['Zip Code','Score'])
listData =[]
for idx, result in enumerate(amesData['Zip Code']):
    if result == 78701:  
        listData.append(amesData.loc[idx, 'Score'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:09:03