pandas - 在熊猫中标记一行到行重复项
问题描述
我有一个如下所示的数据框
东风:
Contaract_ID Date value
123 2011-10-02 07:18:16 250
128 2015-12-06 07:13:18 200
123 2011-10-02 07:18:16 250
123 2011-10-02 07:18:16 250
从上面我想创建一个新列,告诉给定行是否行到行重复。
注意:重复项中的第一行不应标记为重复项。
预期输出:
Contaract_ID Date value Duplicate
123 2011-10-02 07:18:16 250 No
128 2015-12-06 07:13:18 200 No
123 2011-10-02 07:18:16 250 Yes
123 2011-10-02 07:18:16 250 Yes
128 2016-12-06 07:13:18 210 No
128 2016-12-06 07:13:18 210 Yes
我尝试了下面的代码,但这并没有解决。
df['duplicate'] = df.duplicated(keep=False)
解决方案
似乎您需要yes
所有没有第一个重复行且DataFrame.duplicated
带有默认first
参数和的重复行numpy.where
:
df['duplicate'] = np.where(df.duplicated(), 'yes', 'no')
print (df)
ontaract_ID Date value duplicate
123 2011-10-02 07:18:16 250 no
128 2015-12-06 07:13:18 200 no
123 2011-10-02 07:18:16 250 yes
123 2011-10-02 07:18:16 250 yes
128 2016-12-06 07:13:18 210 no
128 2016-12-06 07:13:18 210 yes
推荐阅读
- css - SVG 蒙版或 CSS 样式可消除 svg 的中心,使其透明
- python - 对二维空间中的矩形进行编号以满足单调性
- python - xarray 计算来自多年 netcdf 的月平均值
- swift - EquatableView 不强制 SwiftUI 使用 == 函数的自定义实现
- c# - 控制台应用.net core 3.1配置问题看不到Appsettings.Development.json
- javascript - 如何使用 JavaScript 变量添加背景图片
- time-complexity - 如何解决给定代码块示例的 O-Notation?
- javascript - 为什么当我在本地存储中添加新产品时,他会被新产品替换
- python - Django 表单下拉字段显示其他用户拥有的数据
- angular - Angular Guard 或 Firebase Auth 是否容易被黑客入侵