Pandas の read_csv 関数を使用すると、「DtypeWarning: Columns ( 4、5、7、16) にはタイプが混在しています。インポート時に dtype オプションを指定するか、low_memory=False を設定してください。エラー。 low_memory オプションと dtype の関係を理解すると、この問題の解決とデータ処理の改善に役立ちます。
low_memory オプションは非推奨としてマークされていますPandas では、効率の向上に実際のメリットが得られないためです。各列の dtype の推測は、low_memory 設定に関係なく発生するメモリを大量に使用するプロセスです。
low_memory を使用する代わりに、明示的に指定することをお勧めします。各列の dtype を指定します。これにより、Pandas は推測を回避し、後でデータ型エラーが発生するリスクを最小限に抑えることができます。たとえば、 dtype={'user_id':int} と指定すると、user_id 列が整数データとして扱われるようになります。
推測Pandas は適切な型を決定する前にデータ ファイル全体を分析するため、dtypes はメモリを消費します。大規模なデータセットの場合、この分析はメモリ リソースを大量に消費する可能性があります。 dtype を明示的に指定すると、このオーバーヘッドがなくなります。
dtype を定義すると、データの不一致を回避できます。ファイルに整数で構成される user_id 列が含まれているが、最終行に「foobar」というテキストが含まれているとします。 int の dtype が指定されている場合、データのロードは失敗します。これは、dtype を正確に指定することの重要性を強調しています。
Pandas は、さまざまな dtype を提供します。 、float、int、bool、timedelta64[ns]、datetime64[ns]、'datetime64[ns,
dtype=object を設定すると警告は抑制されますが、メモリ効率は向上しません。さらに、Unicode は numpy でオブジェクトとして表されるため、dtype=unicode の設定は無効です。
コンバータは、そうでないデータを処理するために使用できます。指定された dtype に適合しません。ただし、コンバータは計算負荷が高いため、最後の手段として使用する必要があります。並列処理も考慮できますが、それは Pandas の単一プロセス read_csv 関数の範囲を超えています。
以上がPandas read_csv の「DtypeWarning」を回避し、データ処理効率を向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。