Pandas で If-Else-Else 条件付き列を作成する方法

Mary-Kate Olsen
リリース: 2024-10-20 06:55:02
オリジナル
505 人が閲覧しました

How to Create an If-Else-Else Conditional Column in Pandas?

Pandas での If-Else-Else 条件付き列の作成

データを操作する場合、多くの場合、特定の条件に基づいて新しい列を作成する必要があります。条件。 Pandas は、このプロセスを簡素化する構文を提供し、単一ステップで if-elif-else 条件を定義できるようにします。

これを説明するために、次の DataFrame を考えてみましょう。

    A    B
a   2    2
b   3    1
c   1    3
ログイン後にコピー

We次の条件に従う新しい列 'C' を作成したいとします。

  • If A == B, set C to 0
  • If A >
  • B、C を 1 に設定
  • A

    カスタム関数の使用

    1 つの方法は、行ごとに次の条件を評価するカスタム関数を定義することです。
<code class="python">def my_function(row):
    if row['A'] == row['B']:
        return 0
    elif row['A'] > row['B']:
        return 1
    else:
        return -1</code>
ログイン後にコピー

apply() メソッドを使用して、この関数を DataFrame の各行に適用し、「C」列を作成できます。
<code class="python">df['C'] = df.apply(my_function, axis=1)</code>
ログイン後にコピー

ベクトル化アプローチ

より効率的なベクトル化されたソリューションとして、NumPy の np.where 関数と pandas の論理インデックスを使用できます。
<code class="python">df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] >  df['B'], 1, -1))</code>
ログイン後にコピー

これにより、カスタム関数の必要性がなくなり、次のようになります。より高速で最適化されたソリューション。

「C」列を含む結果のデータフレーム:
    A    B    C
a   2    2    0
b   3    1    1
c   1    3   -1
ログイン後にコピー

以上がPandas で If-Else-Else 条件付き列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!