Usando pandas .append dentro do loop for

Estou anexando linhas a um DataFrame do pandas em um loop for, mas no final o dataframe está sempre vazio. Não quero adicionar as linhas a uma matriz e, em seguida, chamar o construtor DataFrame, porque meu loop for real lida com muitos dados. Eu também tenteipd.concat sem sucesso. Alguém poderia destacar o que está faltando para fazer a declaração de acréscimo funcionar? Aqui está um exemplo fictício:

import pandas as pd
import numpy as np

data = pd.DataFrame([])

for i in np.arange(0, 4):
    if i % 2 == 0:
        data.append(pd.DataFrame({'A': i, 'B': i + 1}, index=[0]), ignore_index=True)
    else:
        data.append(pd.DataFrame({'A': i}, index=[0]), ignore_index=True)

print data.head()

Empty DataFrame
Columns: []
Index: []
[Finished in 0.676s]

questionAnswers(3)

yourAnswerToTheQuestion