为了账号安全,请及时绑定邮箱和手机立即绑定

需要根据出现频率替换 Pandas 中的值

需要根据出现频率替换 Pandas 中的值

万千封印 2021-08-05 15:01:53
我的挑战是根据出现频率为 VENDOR ID 提供一个通用 ID。BaseData.groupby(["VENDOR_ID"]).size().sort_values(ascending=False,na_position='last')返回以下内容。VENDOR_ID1111    50001112    45001113    40001114    35001115    30001116     8801117     5001118     3001119     2001120      20左列是供应商 ID,右列是出现频率。我想保留前 5 个最常出现的供应商 ID 的供应商 ID。对于所有剩余的供应商 ID,我想将现有供应商 ID 替换为通用供应商 ID 9999。
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

.map5家大厂商自己,这将剩下的映射NaN,然后.fillna与通用的价值:


df['VENDOR_ID'] = df.VENDOR_ID.map(

                      dict((i, i) for i in df.groupby('VENDOR_ID').size().nlargest(5).index)

                  ).fillna('9999')


查看完整回答
反对 回复 2021-08-05
  • 3 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信