Python Pandas Series.mask()
Pandas系列是一个带有轴标签的一维ndarray。标签不需要是唯一的,但必须是一个可散列的类型。该对象支持基于整数和标签的索引,并提供了大量的方法来执行涉及索引的操作。
Pandas Series.mask()函数用于屏蔽目的。这个函数可以替换所传递的条件为True的值。否则,该值保持不变。
语法: Series.mask(cond, other=nan, inplace=False, axis=None, level=None, errors=’raise’, try_cast=False, raise_on_error=None)
参数:
cond : 当cond为False时,保留原值。如果为 “真”,则用其他相应的值来替换。
other: cond为True的条目被替换为其他的相应值。
inplace :是否对数据进行就地操作。
axis:对准轴,如果需要的话。
level:对齐级别,如果需要的话。
返回: wh:与调用者类型相同
例子#1:使用Series.mask()函数来替换给定系列对象中的’Rio’城市。
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series(['New York', 'Chicago', 'Toronto', 'Lisbon', 'Rio'])
# Create the Index
index_ = ['City 1', 'City 2', 'City 3', 'City 4', 'City 5']
# set the index
sr.index = index_
# Print the series
print(sr)
输出 :
现在我们将使用Series.mask()函数来替换给定系列对象中的’Rio’城市。
# replace 'Rio' with 'Tokyo'
result = sr.mask(lambda x : x =='Rio', other = 'Tokyo')
# Print the result
print(result)
输出 :
正如我们在输出中看到的,Series.mask()函数已经成功地将给定系列对象中的 “里约 “城市替换为 “东京”。
例子#2:使用Series.mask()函数来屏蔽给定系列对象中所有大于50的值。
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series([11, 21, 8, 18, 65, 84, 32, 10, 5, 24, 32])
# Print the series
print(sr)
输出 :
现在我们将使用Series.mask()函数来屏蔽给定系列对象中所有大于50的数值。
# mask values greater than 50
result = sr.mask(sr > 50)
# Print the result
print(result)
输出 :
正如我们在输出中看到的,Series.mask()函数已经成功地屏蔽了给定系列对象中所有大于50的值。