duplicates() 方法
检测数据帧中是否存在重复值或完整的重复行。
语法
数据帧名称.duplicates(on = ["键列", "...n"], add_groups = True|False)
参数
名称 | 描述 |
---|---|
on = ["键列", "...n"] |
要测试其是否存在重复项的一个或多个键列。 如果您按一个以上的列进行测试,则只有在每个指定列中的值都相同时,才能将行识别为重复项。 如果您按数据帧中的所有列进行测试,则被识别为重复项的行必须完全相同。 键列被定位于输出数据帧的最左侧位置。 |
add_groups = True | False 可选 |
Group 列向每个唯一的重复项组分配一个按顺序递增的编号。 提示 当您分析输出数据帧中的数据时,按编号引用重复项组的能力可能是有用的。 如果您省略该参数,则不会包括 Group 列。 |
返回
HCL 数据帧。
示例
测试一个列中是否存在重复值
在 invoices 数据帧中,以下示例:
- 测试 Invoice_Number 列中是否存在重复值
- 将任何包含重复发票编号的行输出至 inv_num_duplicates 数据帧
inv_num_duplicates = invoices.duplicates(on = ["Invoice_Number"])
第二个示例做相同的事情,并且也会向每个唯一的重复项组分配一个按顺序递增的编号。
inv_num_duplicates_group_id = invoices.duplicates(on = ["Invoice_Number"], add_groups = True)
测试两个或更多个列的组合中是否存在重复值
在 invoices 数据帧中,以下示例:
- 测试 Invoice_Number 列和 Vendor_Number 列中是否存在重复值组合
- 将任何包含相同发票编号和相同供应商编号的行输出至 invoice_vendor_duplicates 数据帧
该测试和上一个测试之间的区别是来自两个不同供应商的相同发票编号不会被报告为误报。
invoice_vendor_duplicates = invoices.duplicates(on = ["Invoice_Number", "Vendor_Number"])
测试是否存在重复行
在 inventory 数据帧中,以下示例:
- 测试每个列中是否存在重复值
- 将任何完全相同的行输出至 inventory_duplicates 数据帧
inventory_duplicates = inventory.duplicates(on = ["ProdNum", "ProdClass", "Location", "ProdDesc", "ProdStatus", "UnitCost", "CostDate", "SalePrice", "PriceDate"])