Pandas教程:DataFrame删除重复的行数据

---------------pandas数据分析集合---------------
Python教程71:学习Pandas中一维数组Series
Python教程74:Pandas中DataFrame数据创建方法及缺失值与重复值处理
Pandas数据化分析,DataFrame行列索引数据的选取,增加,修改和删除操作
Pandas教程05:DataFrame数据常用属性和方法汇总
Pandas教程06:DataFrame.merge数据的合并处理
Pandas教程07:DataFrame数据的算术运算+逻辑运算+describe()方法+统计函数+自定义函数运算
Pandas教程08:教你DataFrame数据的条件筛选——精选篇
Pandas教程09:使用date_range函数,创建时间序列数据
Pandas教程10:DataFrame数据可视化绘制折线图、柱状图、散点图、饼形图
Pandas教程11:关于pd.DataFrame.shift(1)数据下移的示例用法
Tkinter教程22:DataFrame数据加入到treeview树视图(含横纵滚动条+正反向排序)
Pandas教程12:常用的pd.set_option方法,显示所有行和列+不换行显示等等…
Pandas教程13:groupby函数的分组、聚合、转换和过滤操作
Pandas教程14:DataFrame数据合并(concat+merge+_append+join)的4种方法
Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据

Pandas教程16:DataFrame列标题批量重命名+空df数据判断+列名顺序重排

在Pandas中,要删除DataFrame中的重复数据,您可以使用drop_duplicates()方法。这个方法会返回一个新的DataFrame,其中删除了重复的行。默认情况下,drop_duplicates()会考虑所有列来确定哪些行是重复的。

以下是如何使用drop_duplicates()来删除DataFrame中重复数据的示例:

# @Author : 小红牛
# 微信公众号:WdPython
import pandas as pd

# 创建一个包含重复数据的DataFrame
data = {
    '股代码': ['sz300433', 'sz300433', 'sz600519', 'sz600519'],
    '时间': ['20240306', '20240306', '20240307', '20240307'],
    '金额': [630.85, 630.85, 1500, 1500],
    'kind': ['B', 'S', 'S', 'S']
}

df = pd.DataFrame(data)
# 显示原始DataFrame
print('1.原始DataFrame数据:'.center(30, '-'))
print(df)

# 2.删除重复数据,保留第一个出现的重复项(默认行为)
df_no_duplicates = df.drop_duplicates()
print('2.保留第一个重复数据:'.center(30, '-'))
print(df_no_duplicates)

# 3.如果您想保留最后一个出现的重复项,可以设置参数keep='last'
df_no_duplicates_last = df.drop_duplicates(keep='last')
print('3.保留最后一个重复数据:'.center(30, '-'))
print(df_no_duplicates_last)

# 4.如果您想删除所有重复项(即只保留唯一项),可以设置参数subset来指定要考虑的列
df_unique = df.drop_duplicates(subset=['股代码', '时间'])
print('4.按列名条件删除重复数据:'.center(30, '-'))
print(df_unique)

输出内容:

D:\Wdpython\environment\Scripts\python.exe D:/Wdpython/爬虫/测试10.py
-------1.原始DataFrame数据:-------
        股代码        时间       金额 kind
0  sz300433  20240306   630.85    B
1  sz300433  20240306   630.85    S
2  sz600519  20240307  1500.00    S
3  sz600519  20240307  1500.00    S
---------2.保留第一个重复数据:---------
        股代码        时间       金额 kind
0  sz300433  20240306   630.85    B
1  sz300433  20240306   630.85    S
2  sz600519  20240307  1500.00    S
--------3.保留最后一个重复数据:---------
        股代码        时间       金额 kind
0  sz300433  20240306   630.85    B
1  sz300433  20240306   630.85    S
3  sz600519  20240307  1500.00    S
--------4.按列名条件删除重复数据:--------
        股代码        时间       金额 kind
0  sz300433  20240306   630.85    B
2  sz600519  20240307  1500.00    S

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame