Avaliando valores de séries de pandas com expressões lógicas e instruções if

Estou tendo problemas para avaliar valores de um dicionário usando as instruções if.

Dado o seguinte dicionário, que importei de um dataframe (caso isso importe):

>>> pnl[company]
29:   Active Credit       Date   Debit Strike Type
0      1      0 2013-01-08  2.3265  21.15  Put
1      0      0 2012-11-26      40     80  Put
2      0      0 2012-11-26     400     80  Put

Tentei avaliar a seguinte declaração para estabelecer o valor do último valor deActive:

if pnl[company].tail(1)['Active']==1:
    print 'yay'

No entanto, fui confrontado pela seguinte mensagem de erro:

Traceback (most recent call last):
  File "<pyshell#69>", line 1, in <module>
    if pnl[company].tail(1)['Active']==1:
  File "/usr/lib/python2.7/dist-packages/pandas/core/generic.py", line 676, in __nonzero__
    .format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Isso me surpreendeu, já que eu poderia exibir o valor desejado usando o comando acima sem a instrução if:

>>> pnl[company].tail(1)['Active']
30: 2    0
Name: Active, dtype: object

Dado que o valor é claramente zero e o índice é 2, tentei o seguinte para uma breve verificação de integridade e descobri que as coisas não estavam acontecendo como eu poderia esperar:

>>> if pnl[company]['Active'][2]==0:
...     print 'woo-hoo'
... else:
...     print 'doh'


doh

Minha pergunta é:

1) O que pode estar acontecendo aqui? Eu suspeito que estou entendendo mal os dicionários em algum nível fundamental.

2) Percebi que, ao exibir qualquer valor desse dicionário, o número à esquerda aumenta em 1. O que isso representa? Por exemplo:

>>> pnl[company].tail(1)['Active']
31: 2    0
Name: Active, dtype: object
>>> pnl[company].tail(1)['Active']
32: 2    0
Name: Active, dtype: object
>>> pnl[company].tail(1)['Active']
33: 2    0
Name: Active, dtype: object
>>> pnl[company].tail(1)['Active']
34: 2    0
Name: Active, dtype: object

Agradecemos antecipadamente por qualquer ajuda.

questionAnswers(3)

yourAnswerToTheQuestion