Pandas数据处理4、DataFrame记录重复值出现的次数(是总数不是每个值的数量)

简介: Pandas数据处理4、DataFrame记录重复值出现的次数(是总数不是每个值的数量)



前言

       这个女娃娃是否有一种初恋的感觉呢,但是她很明显不是一个真正意义存在的图片,我们需要很复杂的推算以及各种炼丹模型生成的AI图片,我自己认为难度系数很高,我仅仅用了64个文字形容词就生成了她,很有初恋的感觉,符合审美观,对于计算机来说她是一组数字,可是这个数字是怎么推断出来的就是很复杂了,我们在模型训练中可以看到基本上到处都存在着Pandas处理,在最基础的OpenCV中也会有很多的Pandas处理,所以我OpenCV写到一般就开始写这个专栏了,因为我发现没有Pandas处理基本上想好好的操作图片数组真的是相当的麻烦,可以在很多AI大佬的文章中发现都有这个Pandas文章,每个人的写法都不同,但是都是适合自己理解的方案,我是用于教学的,故而我相信我的文章更适合新晋的程序员们学习,期望能节约大家的事件从而更好的将精力放到真正去实现某种功能上去。本专栏会更很多,只要我测试出新的用法就会添加,持续更新迭代,可以当做【Pandas字典】来使用,期待您的三连支持与帮助。


环境

系统环境:win11

Python版本:python3.9

编译工具:PyCharm Community Edition 2022.3.1

Numpy版本:1.19.5

Pandas版本:1.4.4

基础函数的使用

Pandas数据处理——渐进式学习1、Pandas入门基础

Pandas数据处理——渐进式学习、DataFrame(函数检索-请使用Ctrl+F搜索)


DataFrame记录每个值出现的次数

语法

DataFrame.duplicated(subset=None,keep='first')

参数

subset:判断是否是重复数据时考虑的列

keep:保留第一次出现的重复数据还是保留最后一次出现的

重复值的数量

import pandas as pd
import numpy as np
df = pd.DataFrame(
    {'name': ['张丽华', '李诗诗', '王语嫣', '李诗诗', '李诗诗', '李诗诗', '李诗诗'],
     'sex': ['girl', 'woman', np.nan, 'girl', 'woman', 'woman', 'woman'],
     'age': [22, np.nan, 16, np.nan, 27, 27, 27]
     }
)
print(df)
print("----duplicated----")
# duplicated
count = df.duplicated(subset=['name']).sum()
print("重复值数量:", count)

我们看了共计有5个李诗诗,因为第一个没有计数,从第二个开始计数故而输出结果是:4

重复值

import pandas as pd
import numpy as np
df = pd.DataFrame(
    {'name': ['张丽华', '李诗诗', '王语嫣', '李诗诗', '李诗诗', '李诗诗', '李诗诗'],
     'sex': ['girl', 'woman', np.nan, 'girl', 'woman', 'woman', 'woman'],
     'age': [22, np.nan, 16, np.nan, 27, 27, 27]
     }
)
print(df)
print("----duplicated----")
# duplicated
pr = df.duplicated(subset=['name'])
print("重复值:")
print(pr)

可以看到的数值匹配。

打印重复的值

import pandas as pd
import numpy as np
df = pd.DataFrame(
    {'name': ['张丽华', '李诗诗', '王语嫣', '李诗诗', '李诗诗', '李诗诗', '李诗诗', '王语嫣', '王语嫣', '王语嫣'],
     'sex': ['girl', 'woman', np.nan, 'girl', 'woman', 'woman', 'woman', 'girl', 'girl', 'girl'],
     'age': [22, np.nan, 16, np.nan, 27, 27, 27, 16, 16, 16]
     }
)
print(df)
print("----duplicated----")
# duplicated
print("打印重复的值:")
print(df[df.duplicated(subset=['name']) == True])

实际输出

总结

这个函数不是很好用,没有Counter函数好用呢,谁用谁知道。

这里我留一个Counter函数的例子。

我们创建一个测试数据:

from collections import Counter
nums = [1, 1, 1, 6, 6, 6, 7, 8]
count = Counter(nums)  # 统计词频
print(count)

测试数据输出可以看到依然是Counter类型,我们需要进行具体的遍历:

遍历:

from collections import Counter
nums = [1, 1, 1, 6, 6, 6, 7, 8]
count = Counter(nums)  # 统计词频
for k, v in count.items():
    print(k, v)

遍历效果:

到这里就能看到用法了,我们可以根据这个数据进行排序,例如一个冒泡排序:

from collections import Counter
nums = [1, 1, 1, 6, 6, 6, 7, 8]
count = Counter(nums)  # 统计词频
temp = []
for i, j in count.items():
    result = ["", ""]
    result[0] = i
    result[1] = j
    temp.append(result)
# 倒序排列一下
for i in range(0, len(temp) - 1):
    for j in range(0, len(temp) - i - 1):
        if temp[j][1] < temp[j + 1][1]:
            temps = temp[j]
            temp[j] = temp[j + 1]
            temp[j + 1] = temps
for i in temp:
    print("值", i[0], "数量", i[1])

倒序效果:

希望能给大家带来一些帮助。

相关文章
|
2月前
|
BI 数据处理 索引
Pandas基本操作:Series和DataFrame(Python)
Pandas基本操作:Series和DataFrame(Python)
109 1
|
18天前
|
数据采集 数据挖掘 大数据
数据处理利器:使用Pandas进行数据清洗与转换
【4月更文挑战第12天】在大数据时代,Pandas是Python数据分析的关键工具,提供高效的数据清洗和转换功能。本文介绍了如何使用Pandas处理缺失值(删除或填充)、异常值(Z-Score法和IQR法)以及重复值(检测和删除)。此外,还涵盖了数据转换,包括数据类型转换、数据标准化(Min-Max和Z-Score)以及类别数据的one-hot编码。通过学习这些方法,可以为数据分析和挖掘奠定坚实基础。
|
1天前
|
SQL 数据库 索引
Pandas之DataFrame,快速入门,迅速掌握(三)
Pandas之DataFrame,快速入门,迅速掌握(三)
|
1天前
|
数据采集 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(二)
Pandas之DataFrame,快速入门,迅速掌握(二)
|
1天前
|
编译器 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(一)
Pandas之DataFrame,快速入门,迅速掌握(一)
|
4天前
|
数据采集 数据处理 索引
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
20 3
|
11天前
|
数据采集 机器学习/深度学习 自然语言处理
《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)
《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)
26 1
|
14天前
|
数据处理 索引 Python
Pandas常见问题与解决方案:避开数据处理中的坑
【4月更文挑战第16天】本文总结了Pandas数据处理中的常见问题及解决方案:1) 数据类型不匹配,使用`astype`转换;2) 缺失值处理,用`dropna`删除或`fillna`填充;3) 内存占用过大,通过选择性加载列、指定`dtype`和使用`chunksize`分块处理;4) 合并数据问题,确保键匹配和正确合并方式;5) 排序和分组聚合错误,使用`sort_values`/`sort_index`和`groupby`配合聚合函数。掌握这些技巧可提高数据处理效率。
|
14天前
|
SQL 机器学习/深度学习 数据可视化
Pandas与其他库的集成:构建强大的数据处理生态
【4月更文挑战第16天】Pandas在数据处理中扮演关键角色,但与其他Python库如NumPy、Matplotlib/Seaborn、Scikit-learn和SQL的集成使其功能更加强大。结合NumPy进行数值计算,搭配Matplotlib/Seaborn实现高效可视化,与Scikit-learn联用加速机器学习,以及与SQL集成便于数据库操作,这些都构建了一个全面的数据处理生态系统,提升了数据科学家的工作效率,助力于数据价值的发掘。
|
14天前
|
存储 数据挖掘 数据处理
Pandas数据结构详解:Series与DataFrame的奥秘
【4月更文挑战第16天】Pandas的Series和DataFrame是数据处理的核心工具。Series是一维标签化数组,支持各种数据类型,可通过索引便捷访问。DataFrame是二维表格型数据结构,适合存储和操作表格数据。两者提供丰富的统计方法和操作,如筛选、排序、分组聚合。它们之间可相互转换和交互,助力高效的数据分析。理解和掌握Series和DataFrame对于数据科学至关重要。