Получать число строк данных на основе условий

Я хочу получить количество строк dataframe на основе условного выбора. Я попробовал следующий код.

print df[(df.IP == head.idxmax()) & (df.Method == 'HEAD') & (df.Referrer == '"-"')].count()

выход:

IP          57
Time        57
Method      57
Resource    57
Status      57
Bytes       57
Referrer    57
Agent       57
dtype: int64

На выходе отображается счетчик для каждого столбца в кадре данных. Вместо этого мне нужно получить один счет, где все вышеперечисленные условия удовлетворены? Как это сделать? Если вам нужно больше объяснений по поводу моего фрейма, пожалуйста, дайте мне знать.

Ответы

Ответ 1

Вы запрашиваете условие, когда все условия верны, поэтому len кадра является ответом, если я не понимаю, что вы просите

In [17]: df = DataFrame(randn(20,4),columns=list('ABCD'))

In [18]: df[(df['A']>0) & (df['B']>0) & (df['C']>0)]
Out[18]: 
           A         B         C         D
12  0.491683  0.137766  0.859753 -1.041487
13  0.376200  0.575667  1.534179  1.247358
14  0.428739  1.539973  1.057848 -1.254489

In [19]: df[(df['A']>0) & (df['B']>0) & (df['C']>0)].count()
Out[19]: 
A    3
B    3
C    3
D    3
dtype: int64

In [20]: len(df[(df['A']>0) & (df['B']>0) & (df['C']>0)])
Out[20]: 3