pandas DataFrame.where() 檢查一個或多個條件的數據幀,並相應地返回結果


 
 

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

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

Syntax:
DataFrame.where(cond,other = nan,inplace = False,axis = None,level = None,錯誤='raise',try_cast = False,raise_on_error = None)
 

Parameters:

cond:一種或多種條件來檢查數據幀。
其他:用用戶定義的對象替換不滿足條件的行,默認為NaN
inplace:布爾值,如果True

軸:要檢查的軸(行或列), 則對數據框本身進行更改

示例1:單條件操作

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

# importing pandas package 
import pandas as pd 

# making data frame from csv file 
data 
# 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:多條件運算

數據將根據“Team”和“Age”進行過濾。僅顯示團隊名稱為“ 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歲以上的球員。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM