2017-03-03 88 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