ホームページ >バックエンド開発 >Python チュートリアル >行数が均等に割り切れない場合に、大きな Pandas データフレームを複数の部分に分割するにはどうすればよいですか?
大規模な Pandas データフレームを複数の部分に分割する
大規模なデータセットを操作する場合、多くの場合、データセットをより小さな管理可能なチャンクに分割することが必要になります。これにより、パフォーマンスが向上し、メモリ使用率が向上し、並列処理が容易になります。この記事では、np.split() を使用して大きなパンダ データフレームを分割しようとしたときに発生した問題に対処します。
問題を理解する
提供されたコードスニペットは np.split() を使用してデータフレームを 4 つのサブグループに分割しました。ただし、除算が等しくないため、ValueError が発生しました。このエラーは、データフレーム内の要素の数が必要な分割数で割り切れない場合に発生します。
解決策: np.array_split() を使用する
解決するにはこの課題では、np.split() のより汎用性の高い代替手段である np.array_split() を採用します。ドキュメントに記載されているように、array_split() では不等分割が可能であり、今回のような状況に適しています。
実装
np を使用した Python コード例を次に示します。 array_split() を使用して、データフレームを 4 つの部分に分割します。
<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>
これにより、データフレームが 3 つのほぼ同じサイズのグループに効果的に分割されます。各グループは独立してアクセスして処理できるため、不平等な分割という最初の課題に対処できます。
以上が行数が均等に割り切れない場合に、大きな Pandas データフレームを複数の部分に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。