如何使用Groupby计算熊猫两列中符合条件的行数

时间:2019-05-15 02:54:19

标签: python pandas pandas-groupby

我有一个包含多列的数据框,其中四列是chrome.webRequest.onBeforeSendHeaders.addListener( function(details) { details.requestHeaders.push({name: 'Referer', value:'http://localhost/referer'}); return {requestHeaders: details.requestHeaders}; }, {urls: ["http://localhost/*"]}, ["blocking", "requestHeaders"] ); fetch('http://localhost/') carcompany_nameid。每个status都有一个关联的carcompany_name,每个status都链接到一个唯一的company_name。一种可能的状态是ID,我正在尝试计算每个公司的Rented辆汽车的数量(在名为“租赁汽车的数量”的新列中),我一直在尝试使用其唯一ID来这样做。

我尝试使用Rented并申请,但没有成功。

groupby

以下表为例,您可以在“租车数量”列中看到我想要的值:

table

但是使用上面的代码,我只获得最后一列中所有值的值Nan。

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找transform

df['# of Rented Cars'] = df.groupBy('unique_id')['status'].transform(lambda x: (x=='Rented').sum())

或不包含lambda

df['# of Rented Cars'] = df['status'].eq('Rented').groupBy(df['unique_id']).transform('sum')