这是我的数据框:
df = pd.DataFrame({'col1': [1, 1, 1, 2, 2, 3, 4], 'col2': [1, 3, 2, 4, 6, 5, 7]})
我尝试根据值在数据集中出现的频率来重新编码,在这里我想将仅出现一次的每个值重新标记为“其他”。这是所需的输出:
#desired" col1": [1,1,1,2,2,"other", "other"]
我尝试了这个但没有成功:
df["recoded"] = np.where(df["col1"].value_counts() > 1, df["col1"], "other")
我的想法是保存值计数并过滤它们,然后循环结果数组,但这似乎过于复杂。有没有一种简单的“pythonic/pandas”方法来实现这个?
精慕HU
相关分类