如何實作條件列建立:探索 Pandas DataFrame 中的 If-Elif-Else?

Susan Sarandon
發布: 2024-10-20 06:52:29
原創
732 人瀏覽過

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

建立條件列:Pandas 中的If-Elif-Else

給定的問題要求將新列加入DataFrame 中基於一列系列條件標準。挑戰在於在實現這些條件的同時保持程式碼效率和可讀性。

使用函數應用程式的解決方案

一種方法涉及創建一個將每一行映射到所需結果的函數基於條件:

<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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!