首頁 >後端開發 >Python教學 >當行數不可整除時,如何將大型 Pandas 資料框拆分為多個部分?

當行數不可整除時,如何將大型 Pandas 資料框拆分為多個部分?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-27 04:13:30792瀏覽

How to Split a Large Pandas Dataframe into Multiple Parts When the Number of Rows is Not Evenly Divisible?

將大型Pandas 資料幀拆分為多個部分

在處理大量資料集時,通常有必要將它們拆分為更小的、可管理的區塊。這可以提高效能、增強記憶體使用並促進並行處理。在本文中,我們將解決在嘗試使用 np.split() 拆分大型 pandas 資料幀時遇到的問題。

理解問題

提供的程式碼片段使用 np.split() 將資料幀分割為四個子群組。然而,由於不等除法,它導致了 ValueError 。當資料框中的元素數量不能被所需的分割數量整除時,就會出現此錯誤。

解決方案:使用np.array_split()

來克服為了應對這一挑戰,我們採用了np.array_split(),它是np.split( ) 的更通用的替代方案。正如其文件所述, array_split() 允許非等分,使其適合像我們這樣的情況。

實作

這是一個使用 np.split() 的 Python 程式碼範例。 array_split() 將資料幀分成四個部分:

<code class="python">import pandas as pd
import numpy as np

# Create a sample dataframe
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                    'C': np.random.randn(8),
                    'D': np.random.randn(8)})

# Split the dataframe into four groups using array_split
groups = np.array_split(df, 3)

# Print the split groups
for group in groups:
    print(group)</code>

這將有效地將資料幀分成三個大致相等大小的群組。每個組別都可以獨立存取和處理,解決了不平等劃分的初始挑戰。

以上是當行數不可整除時,如何將大型 Pandas 資料框拆分為多個部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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