用'Other'python3替换不匹配索引的值

时间:2019-03-05 10:21:17

标签: python-3.x pandas series

这是原始系列。我正在尝试用“其他”替换系列中非前2名的值。

原始系列(ser3):

 b    8
 c    6
 a    5 
 h    4
 g    2
 d    2
 f    2
 e    1

这是我摘录的前2名。

排名前2:

t2 = ((ser3.value_counts().head(2)))

b    8
c    6

预期输出:

 b    8
 c    6
 a    Other 
 h    Other
 g    Other
 d    Other
 f    Other
 e    Other

我该怎么做?我不想转换为字典并通过索引替换值。我更喜欢按系列进行。我尝试使用.isin,但是我的代码给了我一个错误。

 a[a[~a.isin(t2)].index]='Other'

上面给我一个错误。

1 个答案:

答案 0 :(得分:0)

您已经接近,需要选择t2.index并移除外部ser3[]

ser3[~ser3.isin(t2.index)]='Other'