熊猫:只选择一列的第一行

时间:2016-12-07 17:52:15

标签: pandas

我的pandas数据帧有问题。我有这个df:

       ID                     type
28030  LVE-188599             PPC
28031  LVE-188599             PPC
28032  LVE-188599             PPC
28033  LVE-188599       Affiliate
28034  LVE-188599             PPC
28035  LVE-188599             PPC
28036  LVE-188599             PPC

我想只选择列的唯一值" type"在同一组ID内(我想获得一个包含两列的数据帧):

       ID                     type
28030  LVE-188599             PPC
28033  LVE-188599       Affiliate
28034  LVE-188599             PPC

你知道我怎么能这样做? 我曾经使用SAS,这可以很容易地解决

data out;
set in;
by ID;
if first.type;
run;

谢谢!

1 个答案:

答案 0 :(得分:1)

df.loc[(df.id != df.id.shift(1)) | (df.type != df.type.shift(1))]

它有效!