2017-03-03 87 views
0

我目前正在使用python中的数据库,而我正在使用熊猫。我目前的数据库看起来像这样:Groupby并只计算特定值

Name  Approved 
Google true 
Facebook true 
Apple  false 
Trulia true 
Google false 
Trulia true 

我想只计算每个公司的'真实'。所以我出来会是这个样子:

Name Approved 
Google  1 
Facebook 1 
Apple  0 
Trulia  2 

这是我当前的代码:

data.groupby(['Name'])[['Approved']].count() 

这让我这个:

Name Approved 
Google  2 
Facebook 1 
Apple  1 
Trulia  2 

我怎样才能改变这种代码只能算'对每家公司来说都是真的吗?谢谢!

回答

1

如果您在列负载实际TrueFalse对象,他们是相当于0和1所以只是总结一下:

df.groupby(['Name'])[['Approved']].sum().astype('int') 
Out[144]: 
      Approved 
Name    
Apple   0 
Facebook   1 
Google   1 
Trulia   2 
+1

而在这个例子中,'[“批准”]]'不当然需要(但我明白你为什么包括它):) – miradulo