码迷,mamicode.com
首页 > 其他好文 > 详细

pandas DataFrame.where()

时间:2020-10-26 11:42:17      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:bool   making   方法   false   数据为中心   lan   geeks   python   evel   

 

Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。Pandas是其中的一种,使导入和分析数据更加容易。

Pandaswhere()方法用于检查一个或多个条件的数据帧,并相应地返回结果。默认情况下,不满足条件的行将填充为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 = 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:多条件运算

数据将根据“团队”和“年龄”进行过滤。仅显示团队名称为“ 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岁以上的球员。

技术图片

 

pandas DataFrame.where()

标签:bool   making   方法   false   数据为中心   lan   geeks   python   evel   

原文地址:https://www.cnblogs.com/a00ium/p/13875214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!