web-dev-qa-db-ja.com

Python Pandas:CSVファイルの最初のn行のみを読み込む方法は?

非常に大きなデータセットがあり、データセット全体を読み込む余裕がありません。そのため、トレーニングのために1つのチャンクのみを読み込むことを考えていますが、その方法はわかりません。任意の考えが高く評価されます。

51
bensw

最初の999,999(非ヘッダー)行のみを読み取りたい場合:

read_csv(..., nrows=999999)

行1,000,000 ... 1,999,999のみを読み取りたい場合

read_csv(..., skiprows=1000000, nrows=999999)

nrows:int、デフォルトなし読み取るファイルの行数。大きなファイルの断片を読むのに便利*

skiprows:リストのような整数ファイルの先頭で(int)をスキップする

また、大きなファイルの場合は、おそらくchunksizeを使用することもできます。

chunksize:int、デフォルトなし反復のためにTextFileReaderオブジェクトを返す

pandas.io.parsers.read_csvドキュメント

82
smci