条件付き列の作成: Pandas の If-Elif-Else
指定された問題では、DataFrame に新しい列を追加することが求められます一連の条件付き基準に基づいて決定されます。課題は、コードの効率性と可読性を維持しながらこれらの条件を実装することにあります。
関数アプリケーションを使用したソリューション
1 つのアプローチには、各行を目的の結果にマップする関数を作成することが含まれます。次の条件に基づきます:
<code class="python">def f(row): if row['A'] == row['B']: return 0 elif row['A'] > row['B']: return 1 else: return -1 df['C'] = df.apply(f, axis=1)</code>
このメソッドは読みやすく、実装も簡単ですが、ベクトル化されていないため、大規模なデータセットではパフォーマンスの問題が発生する可能性があります。
ベクトル化されたソリューション
効率を高めるために、NumPy の np.where 関数を使用したベクトル化されたアプローチが推奨されます。
<code class="python">df['C'] = np.where( df['A'] == df['B'], 0, np.where( df['A'] > df['B'], 1, -1))</code>
この操作は、DataFrame で要素ごとに条件付き選択を実行し、新しい列が生成されます。
このベクトル化されたアプローチは、関数ベースの方法と比較してパフォーマンスに大きな利点をもたらします。また、条件付き基準のより簡潔で読みやすい実装も可能になります。
以上が条件付き列の作成を実現する方法: Pandas DataFrame で If-Elif-Else を探索する?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。