It is always cheaper/faster to append to a list and create a DataFrame in one go. Here is a program to append a data frame.
***
data = []
for a, b, c in some_function_that_yields_data():
data.append([a, b, c])
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
***