"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como processar grandes dataframes com eficiência no Pandas: Chunk It Up!

Como processar grandes dataframes com eficiência no Pandas: Chunk It Up!

Publicado em 2024-11-08
Navegar:991

How to Efficiently Process Large DataFrames in Pandas: Chunk It Up!

Pandas - Dividindo grandes dataframes em pedaços

Ao tentar processar dataframes superdimensionados, um obstáculo comum é o temido erro de memória. Uma solução eficaz é dividir o dataframe em pedaços menores e gerenciáveis. Essa estratégia não apenas reduz o consumo de memória, mas também facilita o processamento eficiente.

Para conseguir isso, podemos aproveitar a compreensão de lista ou a função array_split NumPy.

Compreensão de lista

n = 200000  # Chunk row size
list_df = [df[i:i n] for i in range(0, df.shape[0], n)]

NumPy array_split

list_df = np.array_split(df, math.ceil(len(df) / n))

Pedaços individuais podem então ser recuperados usando:

list_df[0]
list_df[1]
...

Para remontar os pedaços em um único dataframe, empregue pd.concat:

# Example: Concatenating by chunks
rejoined_df = pd.concat(list_df)

Slicing by AcctName

Para dividir o dataframe por valores AcctName, utilize o método groupby:

list_df = []

for n, g in df.groupby('AcctName'):
    list_df.append(g)
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3