2015-05-18 3 views
4

У меня есть столбец сайтов: [ «Canada», «США», «Китай» ....]Панды GroupBy найти процент ложные и истинные

Каждый сайт происходит много раз в колонке SITE и рядом для каждого экземпляра - истинное или ложное значение.

INDEX | VALUE | SITE 

0  | True | Canada 
1  | False | Canada 
2  | True | USA 
3  | True | USA 

И это продолжается.

Цель 1: Я хочу найти для каждого сайта, какой процент столбца VALUE равен True.

Цель 2: Я хочу вернуть список сайтов, где% True в столбце VALUE больше 10%.

Как использовать groupby для достижения этого? Я знаю только, как использовать groupby, чтобы найти среднее значение для каждого сайта, что не поможет мне здесь.

ответ

5

Что-то вроде этого:

In [13]: g = df.groupby('SITE')['VALUE'].mean() 
In [14]: g[g > 0.1] 
Out[14]: 
SITE 
Canada 0.5 
USA  1.0