ホームページ >バックエンド開発 >Python チュートリアル >`dtype` および `low_memory` オプションを使用して Pandas `read_csv` を最適化する方法は?

`dtype` および `low_memory` オプションを使用して Pandas `read_csv` を最適化する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 18:08:02335ブラウズ

How to Optimize Pandas `read_csv` with `dtype` and `low_memory` Options?

Pandas read_csv: low_memory および dtype オプション

pd.read_csv('somefile.csv') を使用すると、列に型が混在していることを示す DtypeWarning。 dtype オプションを指定すると、このエラーを回避し、パフォーマンスを向上させることができます。

low_memory オプションについて

非推奨の low_memory オプションは、実際には動作に影響しません。ただし、各列の dtype の推測はメモリを大量に消費する可能性があるため、これは dtype オプションに関連しています。

データの不一致に対する保護

If the last line inファイルに予期しないデータが含まれている場合、dtypes を指定すると読み込みプロセスが失敗する可能性があります。たとえば、整数として指定された列に「foobar」のような文字列値が含まれている場合、読み込みが中断されます。

dtypes

このようなエラーを回避するには、明示的にCSV ファイルを読み取るときに dtype を指定します。 dtype オプションを使用すると、各列に正しいデータ型が割り当てられるため、効率的な解析が可能になり、メモリ消費量が削減されます。

gt;利用可能な dtypes

Pandas は、次のようなさまざまな dtype をサポートしています。 :

  • Numpy 型: float、int、bool、timedelta64[ns]、datetime64[ns]
  • Pandas 拡張機能:

    • datetime64 [ns, ] (タイムゾーン対応タイムスタンプ)
    • category (列挙型)
    • period[] (期間)
    • Sparse (ホールのあるデータ)
    • 間隔 (インデックス付け)
    • null 許容整数 (Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64)
    • 文字列 (文字列操作の場合)
    • boolean (nullable bool)

注意点

  • dtype=object を設定すると警告は表示されなくなりますが、警告は表示されません。メモリ効率を高めます。
  • numpy は Unicode をオブジェクトとして表すため、dtype=unicode を設定しても効果はありません。
  • コンバーターを使用して予期しないデータを処理できますが、Pandas の単一プロセスのため非効率的です。自然。

以上が`dtype` および `low_memory` オプションを使用して Pandas `read_csv` を最適化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。