Python Pandas dataframe.mask()

Python Pandas dataframe.mask()

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

Pandas dataframe.mask()函数返回一个与自己形状相同的对象,如果条件为False,其对应的条目来自自己,否则来自其他对象。其他对象可以是一个标量、系列、数据框架,也可以是一个可调用对象。mask方法是if-then成语的一个应用。对于调用的DataFrame中的每个元素,如果cond为False,则使用该元素;否则使用DataFrame其他对象中的相应元素。

语法:

DataFrame.mask(cond, other=nan, inplace=False, axis=None, level=None, errors=raise, try_cast=False, raise_on_error=None)
Python

参数 :
cond : 当cond为False时,保留原值。如果是True,用其他的对应值替换。如果cond是可调用的,它是在NDFrame上计算的,应该返回布尔NDFrame或数组。这个可调用函数不能改变输入的NDFrame(尽管pandas并不检查)。

other : cond为True的条目被替换为other的相应值。如果other是可调用的,它是在NDFrame上计算的,应该返回标量或NDFrame。可调用性不能改变输入的NDFrame(尽管pandas并不检查它)。
inplace :是否对数据进行就地操作。
axis:对齐axis,如果需要的话,默认为无。
level:对齐级别,如果需要,默认为无。
errors : str, {‘提高’, ‘忽略’}, 默认’提高’。
raise 允许异常被提出,ignore 抑制异常。错误时返回原始对象。注意,目前这个参数不会影响到结果,总是会被胁迫到一个合适的dtype。

try_cast :尝试将结果铸回输入类型(如果可能)。

例子#1:使用mask()函数将数据框架中所有大于10的数值替换为-25。

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":[12, 4, 5, 44, 1],
                   "B":[5, 2, 54, 3, 2],
                   "C":[20, 16, 7, 3, 8],
                   "D":[14, 3, 17, 2, 6]})
  
# Print the dataframe
df
Python

Python Pandas dataframe.mask()

让我们使用dataframe.mask()函数将所有大于10的数值替换为-25。

# replace values greater than 10 with -25
df.mask(df > 10, -25)
Python

输出 :
Python Pandas dataframe.mask()

例子#2:使用mask()函数与可调用。用1000替换所有的Na值。

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":[12, 4, 5, None, 1],
                   "B":[7, 2, 54, 3, None],
                   "C":[20, 16, 11, 3, 8],
                   "D":[14, 3, None, 2, 6]})
  
# replace the Na values with 1000
df.mask(df.isna(), 1000))
Python

输出 :
Python Pandas dataframe.mask()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册