首頁 >後端開發 >Python教學 >如何有效地將大型 Pandas DataFrame 分割為不相等的部分?

如何有效地將大型 Pandas DataFrame 分割為不相等的部分?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 22:24:29336瀏覽

How to Efficiently Split Large Pandas DataFrames into Non-Equal Sections?

拆分大型Pandas 資料幀

在Pandas 中處理大型資料集時,通常需要將資料幀拆分為較小的塊進行處理或分配。但是,如果陣列無法均分,直接使用 np.split 可能會導致錯誤。

使用 np.array_split

np.array_split 函數提供了更多將陣列(包括資料幀)拆分為多個部分的靈活方法。與 np.split 不同,它允許部分的數量為不均勻劃分軸的整數。

考慮以下範例,其中包含包含423244 行的資料幀,我們希望將其分為4 組:

<code class="python">In [1]:
import pandas as pd

In [2]:
df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar'],
    'B': ['one', 'one', 'two', 'three'],
    'C': np.array([rand() for i in range(4)]),
    'D': np.array([rand() for i in range(4)])
})

In [3]:
print(df)</code>

要使用np.array_split 將資料幀分成4 組,我們將可以:

<code class="python">In [4]:
import numpy as np

In [5]:
sections = np.array_split(df, 4)</code>

sections 變數現在包含4 個資料幀的列表,每個資料幀包含大約105811 行。

處理大型資料幀時,考慮不同分割方法的計算成本和記憶體需求非常重要。 np.array_split 提供了一種通用且高效的解決方案,用於將數組劃分為不相等的部分。

以上是如何有效地將大型 Pandas DataFrame 分割為不相等的部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn