根據多個條件建立條件列
如給定執行緒所述,目前的任務是在基於特定條件的 DataFrame。 DataFrame 包含兩列“A”和“B”,並應根據“A”和“B”之間的比較來為所需列“C”指派值。
條件如下:
要完成此操作,可以建立一個 Python 函數來評估條件並指派為 DataFrame 中的每一行設定適當的值「C」。 apply() 方法可用於將函數應用於每一行,傳入 'axis=1' 參數以指定函數應對行進行操作。下面的程式碼示範了這種方法:
<code class="python">def conditional_value(row): if row['A'] == row['B']: return 0 elif row['A'] > row['B']: return 1 else: return -1 df['C'] = df.apply(conditional_value, axis=1)</code>
這種基於函數的方法提供了一種可讀且可自訂的方式來建立條件列。
或者,為了在大型資料集上獲得更好的效能,可以使用向量化方法可以使用運算:
<code class="python">df['C'] = np.where( df['A'] == df['B'], 0, np.where( df['A'] > df['B'], 1, -1))</code>
這裡使用np.where()函數來評估條件並有效率地將相應的值賦給'C'。
以上是如何使用 Python 在 DataFrame 中建立基於多個條件的條件列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!