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

无法从nyc数据集筛选出财年为2021的行问题求助

筛选NYC数据集2021财年数据的解决方案

先修正代码语法错误

你写的两行代码都存在同一个问题:字符串'2021'的单引号未闭合,右边直接衔接了],这会导致语法异常。先把代码修正为正确格式:

# 修正后的loc写法
n21 = nyc.loc[nyc['Fiscal Year'] == '2021']
# 修正后的布尔索引写法
n21 = nyc[nyc['Fiscal Year'] == '2021']

核心问题:数据类型不匹配

如果修正语法后还是只返回列名(空数据集),大概率是**Fiscal Year列的数值类型和你使用的比较值类型不匹配**:

  • 先检查列的数据类型:
    print(nyc['Fiscal Year'].dtype)
    
  • 如果输出是int64(整数类型),说明列里的2021是整数格式,你用字符串'2021'对比肯定匹配不到,换成整数2021即可:
    n21 = nyc.loc[nyc['Fiscal Year'] == 2021]
    
  • 如果输出是object(字符串类型),但还是匹配不到,可能是字符串带有空格或隐藏字符,先清洗列数据:
    nyc['Fiscal Year'] = nyc['Fiscal Year'].str.strip()
    n21 = nyc.loc[nyc['Fiscal Year'] == '2021']
    

关于布尔列表的疑问

你提到第二行代码返回布尔列表,这是语法错误导致的异常输出。正常情况下,nyc['Fiscal Year'] == '2021'(修正引号后)会生成一个布尔Series,直接把这个Series放到方括号里,就会自动筛选出所有值为True的行,也就是你需要的2021财年数据。

验证结果

筛选完成后,用下面的代码确认行数是否符合预期:

print(len(n21))  # 应该输出573477

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:15:19