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']]
关于python - 基于字段的子集数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29378242/