Pandas – DataFrame.where()

Pandas – DataFrame.where()

Python是一种做数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。 Pandas 是这些包中的一个,使导入和分析数据变得更加容易。

Pandas where()方法是用来检查一个DataFrame的一个或多个条件,并返回相应的结果。默认情况下,不满足条件的行会被填充为NaN值。

语法:
DataFrame.where (cond, other=nan, inplace=False, axis=None, level=None, errors=’raising’, try_cast=False, raise_on_error=None)

参数:

cond: 一个或多个检查DataFrame的条件。
other: 用用户定义的对象替换不满足条件的行,默认为NaN。
inplace: 布尔值,如果为真,则在DataFrame本身进行更改
axis: 检查的轴(行或列)。

例子#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。
Pandas - DataFrame.where

例子#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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程