O que está em um CSV e o que está em um dataframe são duas coisas muito diferentes. Por exemplo,
9.9
e 9.99999999999999
em um CSV ocupará a mesma quantidade de espaço em um dataframe. Dito isso, os dados em um dataframe ocupam muito menos espaço do que os dados em uma lista. Construir uma lista é caro na memória; e anexar a um dataframe requer que os pandas criem um novo dataframe (maior), copie tudo e deixe o dataframe original para ser coletado como lixo.
Você provavelmente faria muito melhor se pré-alocou um dataframe de 60.000 linhas (ou quantas linhas você tiver no total); por exemplo.:
data = pd.DataFrame(np.empty((60000,), dtype=[
('x', np.uint8),
('y', np.float64)
]))
e, em seguida, para cada linha, insira dados para essa linha, sem depender de
dataset
Lista:data.values[count,:] = rowdata_at_count
Isso não é seguro para tipos, mas é bem rápido (já que nenhuma alocação está ocorrendo), portanto, certifique-se de que
rowdata_at_count
é uma lista cujos elementos correspondem aos tipos de coluna. EDITAR
Sim, anexar 100 linhas é, acredito, como 100 concats de uma linha (já que cada acréscimo deve realocar e copiar a tabela, assim como concat). A pré-alocação evita anexar e concatenar:o tamanho da tabela não muda, nenhuma realocação e cópia precisam ser feitas.