Crie eficientemente o Pandas DataFrame a partir de uma lista grande de tuplas / linhas

Eu herdei um arquivo de dados salvo no formato Stata .dta. Eu posso carregá-lo comscikits.statsmodels genfromdta() função. Isso coloca meus dados em uma matriz NumPy unidimensional, em que cada entrada é uma linha de dados, armazenada em uma 24-tupla.

In [2]: st_time = time.time(); initialload = sm.iolib.genfromdta("/home/myfile.dta"); ed_time = time.time(); print (ed_time - st_time)
666.523324013

In [3]: type(initialload)
Out[3]: numpy.ndarray

In [4]: initialload.shape
Out[4]: (4809584,)

In [5]: initialload[0]
Out[5]: (19901130.0, 289.0, 1990.0, 12.0, 19901231.0, 18.0, 40301000.0, 'GB', 18242.0, -2.368063, 1.0, 1.7783716290878204, 4379.355, 66.17669677734375, -999.0, -999.0, -0.60000002, -999.0, -999.0, -999.0, -999.0, -999.0, 0.2, 371.0)

Estou curioso para saber se há uma maneira eficiente de organizar isso em um DataFrame do Pandas. Pelo que eu li, construir um DataFrame linha por linha parece bastante ineficiente ... mas quais são minhas opções?

Eu escrevi um first-pass bem lento que apenas lê cada tupla como um DataFrame de linha única e o acrescenta. Basta saber se alguma coisa é conhecida por ser melhor.

questionAnswers(2)

yourAnswerToTheQuestion