Pandas DataFrame:根據條件替換列值
在這個問題中,目標是根據條件有選擇地替換DataFrame 列中的值一個條件。給定一個包含足球隊及其第一個賽季的 DataFrame,我們希望將「First Season」欄中超過 1990 年的所有值替換為 1。
提供的解 df.loc[(df['First Season] '] > 1990)] = 1,錯誤地取代了所選行中的所有值,而不僅僅是目標列。為了解決這個問題,我們需要指定要修改的欄位。
此修改的正確語法是:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
其工作原理如下:
執行這行程式碼後,只有滿足指定條件的 'First Season' 值才會被替換為1,保留 DataFrame 的其餘部分。
其他注意事項:
如果所需的結果是布林指示器,我們可以使用布林條件產生布林系列並將其轉換為整數資料類型:
df['First Season'] = (df['First Season'] > 1990).astype(int)
這會將True 值轉換為1,將False 值轉換為0,從而在「第一季」列中建立布林指示器。
以上是如何根據條件選擇性地替換 Pandas DataFrame 中的列值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!