重复值处理

import pandas as pd

# 生成重复数据
data1 = [‘a‘, 3]
data2 = [‘b‘, 2]
data3 = [‘a‘, 3]
data4 = [‘c‘, 2]

df = pd.DataFrame([data1, data2, data3, data4], columns = [‘col1‘, ‘col2‘])
print(df)

# 判断重复数据
isDuplicated = df.duplicated()     # 判断重复数据记录
print(isDuplicated)                # 打印输出

# 删除重复值
new_df1 = df.drop_duplicates()            # 删除数据记录中所有列值相同的记录
new_df2 = df.drop_duplicates([‘col1‘])    # 删除数据记录中col1值相同的记录
new_df3 = df.drop_duplicates([‘col2‘])    # 删除数据记录中col2值相同的记录
new_df4 = df.drop_duplicates([‘col1‘, ‘col2‘])    # 删除数据记录中指定列(col1/col2)值相同的记录

print(new_df1)
print(new_df2)
print(new_df3)
print(new_df4)

判断重复数据的判断方法:df.duplicated(),该方法中两个主要的参数是subset和keep:

  • subset:要判断重复值的列,可以指定特定列或多个列。默认使用全部列。
  • keep:当重复时不标记为True的规则,可设置为第一个、最后一个和全部标记为True(False)。默认为第一个,即第一个重复值不标记为True。

删除重复数据的方法:df.drop_duplicates(),参数跟df.duplicated()一样。

Numpy重复值的判断

除了Pandas可用来做重复值判断和处理外,也可以使用Numpy中的unique()方法,该方法返回其参数数组中所有不同的值,并且按照从小到大的顺序排列。Python自带的内置函数set方法,也可以返回唯一元素的集合。

原文地址:https://www.cnblogs.com/keye/p/8893325.html

时间: 2024-08-30 11:25:40

重复值处理的相关文章

[Elasticsearch] 关于字段重复值的常用查询和操作总结

1. 取得某个索引中某个字段中的所有出现过的值 这种操作类似于使用SQL的SELECT UNIQUE语句.当需要获取某个字段上的所有可用值时,可以使用terms聚合查询完成: GET /index_streets/_search?search_type=count { "aggs": { "street_values": { "terms": { "field": "name.raw", "siz

排序练习题(二):重复值判断

请设计一个高效算法,判断数组中是否有重复值.必须保证额外空间复杂度为O(1). 给定一个int数组A及它的大小n,请返回它是否有重复值. 测试样例: [1,2,3,4,5,5,6],7 返回:true public class Checker { public boolean checkDuplicate(int[] a, int n) { if (a == null || n == 0) { return false; } heapSort(a); for (int i = 1; i < n;

1.22 P235第二题 分别向Set 和 List集合中添加“A”,&quot;a&quot;,“c”,“C”,“a”五个元素,观察重复值“a”能否在Set 和List 集合中成功添加。

1 public static void main(String[] args) { 2 3 List<String> array = new ArrayList<String>(); //创建 array 4 5 Set<String> hashset = new HashSet<String>(); //创建hashset 6 7 //array.add("A","a","c","C&

java消除 list重复值及交集,并集,差集

消除 list重复值 Java代码 public void removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.addAll(h); } 交集: Java代码 list.retainAll(Arrays.asList(arr)); // list 中的就是交集了  arr为数组 差集: Java代码 list1.removeAll(list2); 并集: Java代码 list1.addAl

Remove Duplicates from Sorted List 去除链表中重复值节点

Given a sorted linked list, delete all duplicates such that each element appear only once. For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3. 如题目所诉,去除递增链表中重复值的节点. 刚开始思路如下: 设置一个指针用于遍历全部节点 让每个节点和其next节点值比较

PHP去掉数组重复值二种方法实例

PHP两种去掉数组重复值的方法,分别使用foreach方法和array_unique方法. 去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $in

JavaScript判断数组是否有重复值

实习中遇到要处理一个table首列是否有重复值 ,试过几个方法都不理想 下面这个方法我感觉很好用 var ary = new Array("123","56","345","111","56"); function isRepeat(arr) //不重复FALSE 重复true { var hash = {}; for(var i in arr) { if(hash[arr[i]]) { return tr

[LeetCode] Contains Duplicate II 包含重复值之二

Given an array of integers and an integer k, return true if and only if there are two distinct indices i and j in the array such that nums[i] = nums[j] and the difference between i and j is at most k. 这道题是之前那道Contains Duplicate 包含重复值的延伸,不同之处在于那道题只要我们

js去除数组中的重复值

hasOwnProperty(property) 方法 JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性. 使用方法: object.hasOwnProperty(proName) 其中参数object是必选项.一个对象的实例.proName是必选项.一个属性名称的字符串值. 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true:反之则返回 false.此方法无法检查该对

计算一个数组里的重复值并且删去(java)

主要思想: 假设数字里的值都为正 循环判断数组 如果与前面的数字相同则变为-1 然后记录-1的个数算出重复值 然后重新new一个减去重复值长度的新数组 和原数组判断 不为-1的全部复制进来即可 代码如下: 1 package Del_Same_Num; 2 3 public class Del_Same_Num { 4 5 static int count=0; 6 7 //计算重复值 8 public static int count_same_number(int[] a) 9 { 10 f