大きな DataFrame は、特に関数に渡す場合に扱いが難しい場合があります。大きな DataFrame を操作するときにメモリ エラーが発生する可能性があり、DataFrame を小さなチャンクにスライスすると、この問題を軽減できます。
DataFrame をより小さなチャンクにスライスするには:
<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] etc...</code>
AcctName で DataFrame を分割します:
<code class="python">list_df = [] for n, g in df.groupby('AcctName'): list_df.append(g)</code>
DataFrame が分割されたらチャンクに分割した場合は、関数を介して渡し、pd.concat.
を使用して単一の DataFrame に再構築できます。以上がメモリ エラーを回避するために Pandas で大きな DataFrame を効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。