我有一个包含高基数(许多唯一值)的分类变量数据框案例。我想将该变量重新编码为一组值(最常见的前几个值),并用一个捕获所有类别("其他")替换所有其他值。举个简单的例子:
以下是应保持不变的两个值:
那个数据框列应该按照以下方式重新编码:
怎么做呢?(数据框中有数百万条记录)
以下是应保持不变的两个值:
top_values = ['apple', 'orange']
我根据下列数据框列中的频率建立了它们:
{'fruits': {0: 'apple',
1: 'apple',
2: 'orange',
3: 'orange',
4: 'banana',
5: 'grape'}}
那个数据框列应该按照以下方式重新编码:
{'fruits': {0: 'apple',
1: 'apple',
2: 'orange',
3: 'orange',
4: 'other',
5: 'other'}}
怎么做呢?(数据框中有数百万条记录)
np.where
相比)。使用pd.Series.mask
来更改符合条件的值;使用pd.Series.where
来更改不符合条件的值。缺乏直觉可能是它从未流行的原因。 - jpp