私は非常に大きなデータセットを持っていて、データセット全体を読み取る余裕がありません。したがって、トレーニングのためにデータセットの1つのチャンクだけを読み取ることを考えていますが、その方法がわかりません。どんな考えでもありがたいです。
回答:
最初の999,999(非ヘッダー)行のみを読み取りたい場合:
read_csv(..., nrows=999999)
行1,000,000 ... 1,999,999のみを読み取りたい場合
read_csv(..., skiprows=1000000, nrows=999999)
nrows:int、デフォルトなし読み取るファイルの行数。大きなファイルの断片を読むのに便利です*
skiprows:リストのような整数またはスキップする行番号(0-インデックス付き)またはファイルの先頭でスキップする行数(int)
大きなファイルの場合は、おそらくチャンクサイズも使用することをお勧めします。
チャンクサイズ:int、デフォルトなし反復のためにTextFileReaderオブジェクトを返します
nstart=,nend=...
。あなたは算術をしなければなりませんskiprows = nend - nrows
LIMIT nstart, skiprows
:: /
header=n/list
chunksize
少し面倒ですが、不均一なサイズのチャンクを処理する必要があります。また、必要がわかっている固定サイズで配列/データフレームを事前に割り当てます。回避できる場合は常に、動的に連結/追加を行わないでください。