Pandas DataFrame:根據條件進行目標值替換
在 Pandas 中,通常需要根據某些條件修改 DataFrame 中的特定值。雖然常見的方法是使用 loc 來選擇行,但了解如何精確定位特定列進行值修改至關重要。
考慮以下DataFrame,我們希望在其中替換「第一季」中的值超過1990 且整數1 的列:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
僅使用loc 函數的初始嘗試導致替換所選行中的所有值,而不僅僅是目標列。為了修正這個問題,我們需要明確指定「First Season」欄位作為loc 的第二個參數:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
這種有針對性的方法確保只有「First Season」欄位中的值滿足條件替換為1,其他列不受影響。
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
或者,如果所需結果是布林指標,您可以使用該條件建立布林系列並將其轉換為整數,其中True 和False分別轉換為1 和0:
df['First Season'] = (df['First Season'] > 1990).astype(int)
此方法產生具有更新值的DataFrame:
Team First Season Total Games 0 Dallas Cowboys 0 894 1 Chicago Bears 0 1357 2 Green Bay Packers 0 1339 3 Miami Dolphins 0 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 0 1003
以上是如何根據條件替換 Pandas DataFrame 列中的特定值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!