如何在 pandas 中的出现次数的列基础上对分类值进行编码

我在熊猫中有以下数据框


  id    source

  1     AS

  2     AS

  3     AS

  4     AT

  5     BR

  6     BT

  7     BR

  8     BT

  9     AS

  10    BE

我想在上面的数据框中做的是,无论哪个来源出现次数少于 3 次,都应编码为 OTHERS。我有 100 万个条目,其中包含超过 10K 个独特的来源。我们如何在熊猫中做到这一点。


所需的数据框是


  id    source

  1     AS

  2     AS

  3     AS

  4     OTHERS

  5     OTHERS

  6     OTHERS

  7     OTHERS

  8     OTHERS

  9     AS

  10    OTHERS


MYYA
浏览 140回答 1
1回答

眼眸繁星

尝试这个,df.loc[df.groupby('source').transform('count').lt(3)['id'], 'source'] = 'OTHERS'   id  source0   1      AS1   2      AS2   3      AS3   4  OTHERS4   5  OTHERS5   6  OTHERS6   7  OTHERS7   8  OTHERS8   9      AS9  10  OTHERS
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python