实现任务:pandas 查询DataFrame 某列元素中重复的数据项
【摘要】
duplicated官方说明参考
duplicated方法说明:
简洁代码实现:
import pandas as pd
from pandas import DataFrame
"""
实...
- duplicated方法说明:
- 简洁代码实现:
import pandas as pd
from pandas import DataFrame
"""
实现任务:查询DataFrame 某列元素中重复的数据项
"""
if __name__ == '__main__':
df = DataFrame({'key1': ['a', 'a', 'b', 'b', 'a', 'a', 'c', 'a'],
'key2': ['one', 'two', 'one', 'two', 'one2', 'one1', 'one', 'two',],
'data1': [1, 2, 3, 2, 5, 1, 3, 1],
'data2': [1, 2, 5, 5, 5, 1, 3, 1],
})
print(df)
# pandas 很简洁暴力的两行代码
key_duplicated = df[df.key2.duplicated(False)]
print("'key2' 列 中 重复元素所在数据如下:")
print(key_duplicated[['key1', 'key2', 'data1']])
# 可以考虑 按 'key2' 列元素进行排序
sort_key_duplicated = key_duplicated.sort_values(by=['key2'])
print(sort_key_duplicated)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 我自己写的呆萌方法(不需要看了):
import pandas as pd
from pandas import DataFrame
"""
实现任务:查询DataFrame 某列元素中重复的数据项
"""
if __name__ == '__main__':
df = DataFrame({'key1': ['a', 'a', 'b', 'b', 'a', 'a', 'c', 'a'],
'key2': ['one', 'two', 'one', 'two', 'one2', 'one1', 'one', 'two',],
'data1': [1, 2, 3, 2, 5, 1, 3, 1],
'data2': [1, 2, 5, 5, 5, 1, 3, 1],
})
# print(df)
# 取出 key2 列的数据
key = df.key2
# print(key)
print("key.duplicated(False)的返回为:")
print(key.duplicated(False))
print("==============")
# 重复元素出现的索引位置
indexs = []
# 重复元素放到valueSet
valueSet = set()
dup = key.duplicated(False)
for index, value in enumerate(dup):
if value:
indexs.append(index)
valueSet.add(key[index])
print("重复的值有:")
print(valueSet)
print("重复的值的索引为:")
print(indexs)
# 重复的元素个数
num = 0
# 重复的值按分组输出:
for repeatVal in valueSet:
flag = 0
for index, value in enumerate(key):
if repeatVal == value:
if flag == 0:
print("-----find -----")
num += 1
flag = 1
print(index, value)
if num == 0:
print("当前没有重复元素")
else:
print("本次查询重复的元素数量为 :%d" % num)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
文章来源: positive.blog.csdn.net,作者:墨理学AI,版权归原作者所有,如需转载,请联系作者。
原文链接:positive.blog.csdn.net/article/details/103704564
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)