当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。