【发布时间】:2019-08-13 22:50:05
【问题描述】:
我有一个包含 > 3000 个类别标签的大型数据框。我想根据 groupby 计数有选择地重新编码标签。这就像 Excel 中的条件替换。例如:
ID Label
1 cat
2 dog
3 cat
4 cat
5 dog
6 bird
每个的计数:
cat: 3
dog: 2
bird: 1
逻辑:如果 count
ID Label
1 cat
2 other
3 cat
4 cat
5 other
6 other
每个的计数:
cat: 3
other: 3
也许你们中的一些人知道一种更 Pythonic 的方式来完成同样的事情。或许神秘的 lambda 函数能帮上忙……
像往常一样,已经在这里阅读了很多帖子。
我微薄的 Python 代码如下所示:
df['Label'] = df.groupby('Label')['Label'].transform('count')
df['New_Label'] = np.where(df.label <= 2, 'other', df.label)
【问题讨论】:
-
是熊猫数据框吗?
-
是的。这一切都是用 Pandas 完成的。对上面的错误格式表示歉意,让我尝试修复它。
标签: python pandas dataframe conditional aggregation