我有一个大的数据框,上面有>;3000个类别标签。我想根据groupby计数有选择地重新编码标签。这就像Excel中的条件替换。例如:
ID Label
1 cat
2 dog
3 cat
4 cat
5 dog
6 bird
每个的计数:
cat: 3
dog: 2
bird: 1
逻辑:如果count<;=2,则将label更改为“other”
ID Label
1 cat
2 other
3 cat
4 cat
5 other
6 other
每个的计数:
cat: 3
other: 3
也许你们中的一些人知道一种更为邪恶的方式来完成同样的事情。也许神秘的lambda函数可以帮助。。。你知道吗
像往常一样,已经在这里读了一堆帖子。你知道吗
我微薄的Python代码如下所示:
df['Label'] = df.groupby('Label')['Label'].transform('count')
df['New_Label'] = np.where(df.label <= 2, 'other', df.label)
此代码使用
pd.DataFrame.where()
而不是np.where()
,并在一行中执行:相关问题 更多 >
编程相关推荐