首页 > 解决方案 > 在 pandas DF 中查找和替换重复值

问题描述

我在熊猫中有以下df:

在此处输入图像描述

我需要找到重复值,在这种情况下,索引 2 中的数字 1 并应用公式 ma.trunc(ma.pow(x,2))+1 并在替换索引 2 中的值结果之后数字1 是。

任何帮助将不胜感激。

标签: pythonpandas

解决方案


您可以使用duplicated()命令找到所有重复项。请注意,keep="first"(默认值)将防止第一次出现被标记为重复。

is_dup = df.duplicated(subset="Enrollment", keep="first")

然后,您可以将自定义函数应用于与where()map()函数重复的值。

my_func = lambda x: ma.trunc(ma.pow(x,2))+1
df["Enrollment"] = df["Enrollment"].where( ~is_dup, df["Enrollment"].map( my_func ))

推荐阅读