我的挑战是根据出现频率为 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')
添加回答
举报
0/150
提交
取消