首页 > 编程笔记

Pandas数据预处理计数与去重

在进行数据处理过程中,常常需要对数据中的数字进行计数,查看哪些数字出现的频次比较高,对重复数据进行删减。示例代码如下。
In [1]: import pandas as pd
In [2]: a=pd.Series([1,2,"a","a","b"])

1) values_count()序列值计数

values_counts 方法可以用来对序列中的值进行计数。
In [3]: a.value_counts()  # 值类别计数
Out[3]: 
a    2
2    1
1    1
b    1
dtype: int64 

2) count()统计非空值

count 方法用来计算序列中非空元素的个数。
In [4]: a.count()  # 非空元素个数
Out[4]: 5

3) factorize()归类元素

factorize 方法可以对序列中的元素进行归类。
In [5]: a.factorize()  # 归类元素
Out[5]: (array([0, 1, 2, 2, 3], dtype=int64), Index([1, 2, 'a', 'b'], dtype='object'))

4) unique()返回唯一值

unique 方法可以用来返回序列中的唯一值。
In [6]: a.unique()  # 返回唯一的值
Out[6]: array([1, 2, 'a', 'b'], dtype=object)

5) is_unique()值是否唯一

is_unique 方法可以用来判断序列中的值是否是唯一的,因为 a 序列中含有两个字符 a,所以该序列并不是唯一的,最终结果返回 False。
In [7]: a.is_unique  # 是否都是唯一的
Out[7]: False

6) drop_duplicates()去重

drop_duplicates 方法可以用来删除序列中的重复元素。这里删除 a 序列中重复的字符 a。
In [8]: a.drop_duplicates()  # 删除重复元素
Out[8]: 
0    1
1    2
2    a
4    b
dtype: object

7) duplicate()返回重复索引值

duplicate 方法可以用来返回重复值的索引。
In [9]: a.duplicated()  # 返回重复索引
Out[9]: 
0    False
1    False
2    False
3     True 
4    False
dtype: bool 

优秀文章