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

Pandas DataFrame筛选后使用loc[0]触发KeyError问题求助

问题解决:DataFrame.loc[0]触发KeyError的原因及解决方法

错误原因

你筛选得到的lenders_table继承了原表joint_table的行索引(从打印结果能看到行标签是12、14),而loc[]是基于标签索引进行查找的,你的子表里根本没有标签为0的行,所以会抛出KeyError: 0。

解决方法

给你三种可行的处理方式:

  • 直接按位置取行(推荐):用iloc[]代替loc[],iloc是按行的位置顺序查找,不管标签是什么:

    print(lenders_table.iloc[0])
    
  • 重置子表的索引:筛选后重置索引,让新表的索引从0开始连续编号,之后就能用loc[0]了:

    lenders_table = joint_table.loc[joint_table['LOGIN_ID'] == lender_name].reset_index(drop=True)
    print(lenders_table.loc[0])
    

    注意drop=True是丢弃原来的旧索引,避免它变成新的一列。

  • 取第一行的DataFrame形式:如果需要返回的是DataFrame而不是Series,可以用head(1):

    print(lenders_table.head(1))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:44:54