保留 name 列的重复项,我想删除除 name 列的唯一值之外的 Count 列的重复项
这是一个示例 df
计数 | 姓名 |
---|---|
是的 | 约翰 |
是的 | 结婚 |
是的 | 结婚 |
是的 | 石田 |
是的 | 石田 |
是的 | 石田 |
我想要的结果:
计数 | 姓名 |
---|---|
是的 | 约翰 |
是的 | 结婚 |
结婚 | |
是的 | 石田 |
石田 | |
石田 |
#pandas #python
答案 0 :(得分:0)
逻辑是
groupby()
和 cumcount()
Namedf = pd.read_csv(io.StringIO("""Count name
yes jhon
yes marry
yes marry
yes ishita
yes ishita
yes ishita"""),sep="\t")
df.Count=np.where(df.groupby("name",as_index=False)["name"].cumcount()==0, df.Count, np.nan)
计数 | 名称 | |
---|---|---|
0 | 是 | jhon |
1 | 是 | 结婚 |
2 | nan | 结婚 |
3 | 是 | ishita |
4 | nan | ishita |
5 | nan | ishita |