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岁以上的球员。

 

posted @ 2020-10-25 21:04  DaisyLinux  阅读(3553)  评论(0编辑  收藏  举报