ホームページ >バックエンド開発 >Python チュートリアル >Pandas で大規模なデータフレームを効率的に処理する方法: チャンクアップ!
サイズ超過のデータフレームを処理しようとすると、一般的な障害となるのが恐ろしいメモリ エラーです。効果的な解決策の 1 つは、データフレームをより小さく管理しやすいチャンクに分割することです。この戦略は、メモリ消費量を削減するだけでなく、効率的な処理も促進します。
これを達成するには、リスト内包表記または NumPy array_split 関数を利用できます。
<code class="python">n = 200000 # Chunk row size list_df = [df[i:i+n] for i in range(0, df.shape[0], n)]</code>
<code class="python">list_df = np.array_split(df, math.ceil(len(df) / n))</code>
次を使用して個々のチャンクを取得できます:
<code class="python">list_df[0] list_df[1] ...</code>
チャンクを単一のデータフレームに再構築するには、pd.concat:
<code class="python"># Example: Concatenating by chunks rejoined_df = pd.concat(list_df)</code>を使用します。
AcctName 値によってデータフレームを分割するには、groupby メソッドを利用します。
<code class="python">list_df = [] for n, g in df.groupby('AcctName'): list_df.append(g)</code>
以上がPandas で大規模なデータフレームを効率的に処理する方法: チャンクアップ!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。