當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas DataFrame.where()用法及代碼示例


Python是進行數據分析的一種出色語言,主要是因為以數據為中心的python軟件包具有奇妙的生態係統。 Pandas是其中的一種,使導入和分析數據更加容易。

Pandas where()方法用於檢查一個或多個條件的數據幀並相應地返回結果。默認情況下,不滿足條件的行將填充為NaN值。

用法:

DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, errors=’raise’, try_cast=False, raise_on_error=None)
 


參數:

cond:One or more condition to check data frame for.
other:Replace rows which don’t satisfy the condition with user defined object, Default is NaN
inplace:Boolean value, Makes changes in data frame itself if True
axis:axis to check( row or columns)

有關使用的CSV文件的鏈接,請單擊此處。

範例1:單條件運行

在此示例中,將顯示具有特定團隊名稱的行,其餘的將使用.where()方法由NaN替換。

# importing pandas package 
import pandas as pd 
  
# making data frame from csv file 
data = pd.read_csv("nba.csv") 
  
# sorting dataframe 
data.sort_values("Team", inplace = True) 
  
# making boolean series for a team name 
filter = data["Team"]=="Atlanta Hawks"
  
# filtering data 
data.where(filter, inplace = True) 
  
# display 
data

輸出:

如輸出圖像所示,沒有Team = Atlanta Hawks的每一行都將替換為NaN。

範例2:Multi-condition操作

數據將根據“團隊”和“年齡”進行過濾。僅顯示團隊名稱為“Atlanta Hawks”的行和年齡在24歲以上的球員。

# importing pandas package 
import pandas as pd 
  
# making data frame from csv file 
data = pd.read_csv("nba.csv") 
  
# sorting dataframe 
data.sort_values("Team", inplace = True) 
  
# making boolean series for a team name 
filter1 = data["Team"]=="Atlanta Hawks"
  
# making boolean series for age 
filter2 = data["Age"]>24
  
# filtering data on basis of both filters 
data.where(filter1 & filter2, inplace = True) 
  
# display 
data

輸出:
如輸出圖像所示,僅顯示團隊名稱為“Atlanta Hawks”的行和年齡在24歲以上的玩家。



相關用法


注:本文由純淨天空篩選整理自Kartikaybhutani大神的英文原創作品 Python | Pandas DataFrame.where()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。