在上一篇中,我介绍了collections中的counter模块,并简单介绍了其使用。这一篇中,我将通过一个例子展示其如何在pandas中快速查找某列中的重复数据。
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.read_excel('D:/2.xlsx')
>>> df
姓名 电话
0 lb 1232
1 lc 3222
2 ac 1222
3 ah 1433
4 eg 1222
5 fs 1232
6 ee 4333
7 rr 1111
8 afa 1222
9 fa 3232
10 fg 3232
我将通过代码展示如何快速查找电话中重复的电话号码。
>>> from collections import Counter
>>> phones = Counter(df['电话'])
# 通过调用most_common()方法,能够获取到
# 排序以后的结果
>>> phones_sort = phones.most_common()
# 以下列表解析的结果是遍历结果并
# 排除掉val <= 1的结果,并返回key
>>> [ item[0] for item in phones_sort if item[1] > 1]
[1222, 1232, 3232]
# phones_sort的结果
>>> phones_sort
[(1222, 3), (1232, 2), (3232, 2), (3222, 1), (1433, 1), (4333, 1), (1111, 1)]
昨天通过200个以上的电话号码实验,速度也是非常快的,非常适合办公人事使用哦。有兴趣欢迎关注python小工具,一起学习python和pandas.