Python 如何在列中对分类值进行编码,以确定在列中出现的次数
我在熊猫中有以下数据帧Python 如何在列中对分类值进行编码,以确定在列中出现的次数,python,pandas,Python,Pandas,我在熊猫中有以下数据帧 id source 1 AS 2 AS 3 AS 4 AT 5 BR 6 BT 7 BR 8 BT 9 AS 10 BE 在上面的数据帧中,我想做的是,无论哪个源出现次数少于3次,都应该和其他源一样进行编码。我有100万个条目,拥有超过10万个独特来源。我们如何在熊猫身上做到这一点 所需的数据帧是 id source 1
id source
1 AS
2 AS
3 AS
4 AT
5 BR
6 BT
7 BR
8 BT
9 AS
10 BE
在上面的数据帧中,我想做的是,无论哪个源出现次数少于3次,都应该和其他源一样进行编码。我有100万个条目,拥有超过10万个独特来源。我们如何在熊猫身上做到这一点
所需的数据帧是
id source
1 AS
2 AS
3 AS
4 OTHERS
5 OTHERS
6 OTHERS
7 OTHERS
8 OTHERS
9 AS
10 OTHERS
试试这个
df.loc[df.groupby('source').transform('count').lt(3)['id'], 'source'] = 'OTHERS'
试试这个
df.loc[df.groupby('source').transform('count').lt(3)['id'], 'source'] = 'OTHERS'
谢谢你的回答。我在数据框中有多个列,我必须将其与
id
column一起添加吗?我在数据框中有大约70个列。我必须添加所有70列吗?如果您尝试,df.groupby(by=['source'])。transform(“count”)
将看到转换的作用。谢谢您的回答。我在数据框中有多个列,我必须将其与id
column一起添加吗?我在数据框中有大约70个列。我必须添加所有70列吗?如果您尝试,df.groupby(by=['source'])。transform(“count”)
将看到转换的作用。