Skip to main content
 首页 » 编程设计

python之基于字段的子集数据框

2025年05月04日46qq78292959

mukey   cokey     hzdept_r  hzdepb_r 
422927  11090397    0        20 
422927  11090397    20       71 
422927  11090397    71       152 
422927  11090398    0        18 
422927  11090398    18       117 
422927  11090398    117      152 

我想对上面的数据框进行子集化,以便只选择第一组 cokey(在本例中为 11090397)。当然,由于这是一个示例数据集,因此解决方案需要扩展到此类数据框的更大版本。

在这种情况下,生成的数据集应该是:

mukey   cokey     hzdept_r  hzdepb_r 
422927  11090397    0        20 
422927  11090397    20       71 
422927  11090397    71       152 

我试过使用 groupby,但不确定如何从那里只选择第一个 cokey 值。

请您参考如下方法:

如果您正在寻找 df 中与 df 中的第一个 cokey 相等的第一个所有 cokey,请使用:

test[test['cokey'] == test.cokey[0]] 

编辑: @dsm 是对的,上面的代码会给你索引零的 cokey,所以如果你的 df 没有从零开始的自动递增索引,你可能得不到实际想要的结果。而是使用:

test[test['cokey'] == test.iloc[0]['cokey']]