Pandas:从包含两个值的列中获取最小值

2024-05-19 16:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到的是下面的数据帧。你知道吗

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()可以实现这一点,但我还没有实现。你知道吗

不幸的是,我没有额外的列可以用来过滤印象值(出于某种原因,Nielsen就是这样构造数据的)


Tags: 数据iniddfdatetimeoutsvdgroupby
1条回答
网友
1楼 · 发布于 2024-05-19 16:26:18

不清楚为什么您想要的输出有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

基本上,我们在'datetime'上^{},在'impressions'列上调用^{},并使用返回的索引索引到主df中

相关问题 更多 >