Python Pandas:根据规则

时间:2017-05-22 15:06:17

标签: python sql pandas

我有一个pandas数据帧(最初是从sql查询生成的),它看起来像:

index      AccountId     ItemID    EntryDate
1             100          1000     1/1/2016
2             100          1000     1/2/2016
3             100          1000     1/3/2016
4             101          1234     9/15/2016
5             101          1234     9/16/2016
etc....

我想把这个缩小到一个唯一的列表,只返回具有最早可用日期的条目,如下所示:

index      AccountId     ItemID    EntryDate
1             100          1000     1/1/2016
4             101          1234     9/15/2016
etc....

对于一个相当新的熊猫开发的任何指针或方向?独特的功能似乎无法处理这些类型的规则,并且循环遍历数组并确定哪一个丢弃对于一个简单的任务来说似乎很麻烦...是否有一个函数我是缺少这样做?

1 个答案:

答案 0 :(得分:1)

让我们使用groupbyidxmin.loc

df_out = df2.loc[df2.groupby('AccountId')['EntryDate'].idxmin()]

print(df_out)

输出:

       AccountId  ItemID  EntryDate
index                              
1            100    1000 2016-01-01
4            101    1234 2016-09-15