Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ データをチャンクに分割する | 大規模データセットの取り扱い
Pythonによる大規模データハンドリング

データをチャンクに分割する

メニューを表示するにはスワイプしてください

メモリに一度に収まりきらない大規模データセットを扱う場合、ファイル全体を単純に読み込む方法とは異なるアプローチが必要です。通常の read_csv 関数で巨大なCSVファイルをpandasに読み込もうとすると、メモリエラーや著しい処理速度の低下が発生することがあります。これを回避するために、データをより小さく扱いやすいチャンクに分割し、それぞれを独立して処理する方法があります。この手法は、以下のような場面で特に有効です。

  • 大規模なログファイルの解析
  • データベースからのデータエクスポートの処理
  • 長期間にわたり収集された時系列データの取り扱い

データをチャンクに分割することで、一度にデータセットの一部のみを処理できるため、メモリ使用量を抑え、限られたハードウェア環境でも効率的に作業できます。例えば、数百万件のレコードがあるファイルから統計量を計算したり、行をフィルタリングしたりする場合、チャンクごとに読み込むことで各部分を処理し、必要に応じて結果を集約できます。このアプローチは、機械学習パイプラインへのデータストリーミングや、段階的なデータクリーニングを行う際にも役立ちます。

1234567891011
import pandas as pd # Assume 'large_file.csv' is a very large CSV file url = "https://content-media-cdn.codefinity.com/b8f3c268-0e60-4ff0-a3ea-f145595033d8/section1/large_file.csv" chunk_size = 100 # Number of rows per chunk # To read.csv() from directory you use same syntax for chunk in pd.read_csv(url, chunksize=chunk_size): # Count rows in this chunk print("Chunk has", len(chunk), "rows")
question mark

pandas.read_csv でファイルをチャンクごとに処理できるようにするパラメータはどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  2
some-alt