パンダの for ループは本当に悪いのでしょうか?どのような場合に注意すべきですか?
パンダでは、for ループは本質的に「悪い」ものではありません。特定の状況では、従来の「ベクトル化された」アプローチを使用するよりも利点が得られます。次の場合には、for ループの使用を検討してください。
-
小さなデータを扱う場合: ベクトル化関数では、インデックス/軸の位置合わせ、混合データ型、欠損データの処理にオーバーヘッドが発生します。小さなデータセットの場合、for ループの方が高速な場合があります。
-
オブジェクト/混合 dtype の処理: Pandas は文字列をオブジェクトとして扱い、文字列操作は本質的にベクトル化が困難です。リスト内包表記は、多くの場合、混合 dtype を使用したベクトル化メソッドよりもパフォーマンスが優れています。
-
str/regex アクセサー関数の使用: ベクトル化された文字列操作 (str.contains など) は、正規表現パターンを事前にコンパイルするよりも遅くなる可能性があります。 re.compile.
を使用してデータを反復処理します。
以上がパンダの For ループは常に悪いものですか?いつ使用すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。