ホームページ  >  記事  >  バックエンド開発  >  条件付き列の作成を実現する方法: Pandas DataFrame で If-Elif-Else を探索する?

条件付き列の作成を実現する方法: Pandas DataFrame で If-Elif-Else を探索する?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 06:52:29734ブラウズ

How to Achieve Conditional Column Creation: Exploring If-Elif-Else in Pandas DataFrame?

条件付き列の作成: 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 サイトの他の関連記事を参照してください。

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