Pandas:从具有两个值

时间:2016-03-22 16:12:03

标签: python pandas group-by

我所拥有的是以下数据框。

In [1]: df
Out[1]: 
ID     datetime        impressions
cc2    1/2/2016 12:00  1,200           
svd    1/2/2016 12:00  1,080            
xz4    1/2/2016 12:15  1,480     
xgb    1/2/2016 12:15  1,214        
xz4    1/2/2016 12:30  1,157     
x4y    1/2/2016 12:30  1,049  

我想要的是以下内容:

In [1]: df
Out[1]: 
ID     datetime        impressions        
svd    1/2/2016 12:00  1,080              
xgb    1/2/2016 12:15  1,214       
x4y    1/2/2016 12:30  1,049

我认为这可以通过groupby()实现,但我还没有完成它。

遗憾的是,我无法使用其他列来过滤展示次数值(出于某种原因,这就是尼尔森如何构建其数据。)

1 个答案:

答案 0 :(得分:2)

不清楚为什么你想要的输出有3行,但以下是你想做的:

In [113]:
df.loc[df.groupby('datetime')['impressions'].idxmin()]

Out[113]:
    ID        datetime  impressions
1  svd  1/2/2016 12:00        1.080
5  x4y  1/2/2016 12:15        1.049

基本上我们groupby在&date;'日期时间'并在'展示次数上致电idxmin。列并使用返回的索引索引到主df