首頁 >後端開發 >Python教學 >如何在 Pandas 中基於 If-Else-Else 條件建立列?

如何在 Pandas 中基於 If-Else-Else 條件建立列?

DDD
DDD原創
2024-10-20 06:55:29270瀏覽

How to Create a Column Based on If-Else-Else Conditions in Pandas?

在Pandas 中建立具有If-Else-Else 條件的欄位

基於if-elif-else 條件建立新列,有兩列主要方法:

非向量化方法

這種方法涉及定義一個對行進行操作的函數:

<code class="python">def f(row):
    if row['A'] == row['B']:
        val = 0
    elif row['A'] > row['B']:
        val = 1
    else:
        val = -1
    return val</code>

然後,將其沿行應用於資料框:

<code class="python">df['C'] = df.apply(f, axis=1)</code>

向量化方法

向量化方法利用np.where 直接建立新欄位:

<code class="python">df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] >  df['B'], 1, -1)) </code>

這種方法對於大型資料集更有效。

這是使用提供的資料幀的範例:

輸入資料幀

A B
2 2
3 1
1 3

輸出資料幀

A B C
2 2 0
3 1 1
1 3 -1
輸出資料幀輸出資料幀輸出資料幀

以上是如何在 Pandas 中基於 If-Else-Else 條件建立列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn