我有以下系列'
s = pd.Series([0,1,'random',2,3,4])
s2 = pd.Series([5,6,7,8,9,10])
如何使用s.mask
返回一个序列,其中s
中的每个偶数都被s2
替换,并且s中不能根据条件求值的元素被忽略(例如'random')?
我试过这个,它给了一个ValueError: Array conditional must be same shape as self
def is_even_if_is_number(x):
if isinstance(x, int):
return x % 2 == 0
return False
s.mask(lambda x: is_even_if_is_number(x), s2)
我需要这个的输出
0 5
1 1
2 random
3 8
4 3
5 10
1条答案
按热度按时间n6lpvg4x1#
首先创建遮罩,然后传递到
Series.mask
: