Python酷库之旅-第三方库Pandas(118)
目录
一、用法精讲
521、pandas.DataFrame.drop_duplicates方法
521-1、语法
521-2、参数
521-3、功能
521-4、返回值
521-5、说明
521-6、用法
521-6-1、数据准备
521-6-2、代码示例
521-6-3、结果输出
522、pandas.DataFrame.duplicated方法
522-1、语法
522-2、参数
522-3、功能
522-4、返回值
522-5、说明
522-6、用法
522-6-1、数据准备
522-6-2、代码示例
522-6-3、结果输出
523、pandas.DataFrame.equals方法
523-1、语法
523-2、参数
523-3、功能
523-4、返回值
523-5、说明
523-6、用法
523-6-1、数据准备
523-6-2、代码示例
523-6-3、结果输出
524、pandas.DataFrame.filter方法
524-1、语法
524-2、参数
524-3、功能
524-4、返回值
524-5、说明
524-6、用法
524-6-1、数据准备
524-6-2、代码示例
524-6-3、结果输出
525、pandas.DataFrame.first方法
525-1、语法
525-2、参数
525-3、功能
525-4、返回值
525-5、说明
525-6、用法
525-6-1、数据准备
525-6-2、代码示例
525-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
一、用法精讲
521、pandas.DataFrame.drop_duplicates方法
521-1、语法
# 521、pandas.DataFrame.drop_duplicates方法
pandas.DataFrame.drop_duplicates(subset=None, *, keep='first', inplace=False, ignore_index=False)
Return DataFrame with duplicate rows removed.Considering certain columns is optional. Indexes, including time indexes are ignored.Parameters:
subsetcolumn label or sequence of labels, optional
Only consider certain columns for identifying duplicates, by default use all of the columns.keep{‘first’, ‘last’, False}, default ‘first’
Determines which duplicates (if any) to keep.‘first’ : Drop duplicates except for the first occurrence.‘last’ : Drop duplicates except for the last occurrence.False : Drop all duplicates.inplacebool, default False
Whether to modify the DataFrame rather than creating a new one.ignore_indexbool, default False
If True, the resulting axis will be labeled 0, 1, …, n - 1.Returns:
DataFrame or None
DataFrame with duplicates removed or None if inplace=True.
521-2、参数
521-2-1、subset(可选,默认值为None):单一标签或列表,用于指定在哪些列中寻找重复项,如果没有提供,默认会检查所有列。
521-2-2、keep(可选,默认值为'first'):{'first', 'last', False},用于确定在遇到重复项时保留哪一行,可选的值有:
- 'first':保留第一次出现的重复项。
- 'last':保留最后一次出现的重复项。
- False:删除所有重复项,不保留任何重复项。
521-2-3、inplace(可选,默认值为False):布尔值,如果设置为True,将在原地删除重复项,而不是返回一个新对象,DataFrame会在原地修改,返回值为None。
521-2-4、ignore_index(可选,默认值为False):布尔值,如果设置为True,返回的DataFrame会重置索引。
521-3、功能
移除DataFrame中的重复行,你可以指定考虑哪些列来判断重复,你可以选择保留首次出现的行还是最后出现的行,或者删除所有的重复行。
521-4、返回值
如果inplace参数设置为False,该函数返回一个新的DataFrame,其中移除了重复的行;如果inplace参数设置为True,该函数不会返回任何值,但会在原地修改DataFrame。
521-5、说明
无
521-6、用法
521-6-1、数据准备
无
521-6-2、代码示例
# 521、pandas.DataFrame.drop_duplicates方法
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 1, 2, 2, 3, 3],'B': [4, 4, 5, 5, 6, 6]
}
df = pd.DataFrame(data)
# 输出原始DataFrame
print("原始DataFrame:")
print(df)
# 移除重复行(保留首次出现的行)
df_no_duplicates = df.drop_duplicates()
print("\n移除重复行(保留首次出现的行):")
print(df_no_duplicates)
# 移除重复行(保留最后一次出现的行)
df_no_duplicates_last = df.drop_duplicates(keep='last')
print("\n移除重复行(保留最后一次出现的行):")
print(df_no_duplicates_last)
# 在原地移除重复行
df.drop_duplicates(inplace=True)
print("\n在原地移除重复行:")
print(df)
521-6-3、结果输出
# 521、pandas.DataFrame.drop_duplicates方法
# 原始DataFrame:
# A B
# 0 1 4
# 1 1 4
# 2 2 5
# 3 2 5
# 4 3 6
# 5 3 6
#
# 移除重复行(保留首次出现的行):
# A B
# 0 1 4
# 2 2 5
# 4 3 6
#
# 移除重复行(保留最后一次出现的行):
# A B
# 1 1 4
# 3 2 5
# 5 3 6
#
# 在原地移除重复行:
# A B
# 0 1 4
# 2 2 5
# 4 3 6
522、pandas.DataFrame.duplicated方法
522-1、语法
# 522、pandas.DataFrame.duplicated方法
pandas.DataFrame.duplicated(subset=None, keep='first')
Return boolean Series denoting duplicate rows.Considering certain columns is optional.Parameters:
subset
column label or sequence of labels, optional
Only consider certain columns for identifying duplicates, by default use all of the columns.keep
{‘first’, ‘last’, False}, default ‘first’
Determines which duplicates (if any) to mark.first : Mark duplicates as True except for the first occurrence.last : Mark duplicates as True except for the last occurrence.False : Mark all duplicates as True.Returns:
Series
Boolean series for each duplicated rows.
522-2、参数
522-2-1、subset(可选,默认值为None):单个标签或标签列表,用于指定要检查重复的列,如果设置为None(默认),则使用所有列进行重复检查。
522-2-2、keep(可选,默认值为'first'):字符串,用于指定在重复项中哪个标记为非重复,可选的值有:
- 'first':保留第一次出现的重复项。
- 'last':保留最后一次出现的重复项。
- False:删除所有重复项,不保留任何重复项。
522-3、功能
返回一个布尔型Series,每行是否为重复行,True表示该行是重复的,False表示该行是唯一的(保留的)。
522-4、返回值
返回值是一个布尔型Series,与DataFrame的行数量相同,每个元素对应DataFrame中一行的重复状态。
522-5、说明
无
522-6、用法
522-6-1、数据准备
无
522-6-2、代码示例
# 522、pandas.DataFrame.duplicated方法
import pandas as pd
data = {'A': [1, 2, 2, 3, 4, 4],'B': ['x', 'y', 'y', 'z', 'x', 'x']
}
df = pd.DataFrame(data)
# 检查所有列的重复
print(df.duplicated())
# 检查列'A'的重复
print(df.duplicated(subset=['A']))
# 保留最后一个重复项
print(df.duplicated(keep='last'))
# 标记所有重复项
print(df.duplicated(keep=False))
522-6-3、结果输出
# 522、pandas.DataFrame.duplicated方法
# 0 False
# 1 False
# 2 True
# 3 False
# 4 False
# 5 True
# dtype: bool
# 0 False
# 1 False
# 2 True
# 3 False
# 4 False
# 5 True
# dtype: bool
# 0 False
# 1 True
# 2 False
# 3 False
# 4 True
# 5 False
# dtype: bool
# 0 False
# 1 True
# 2 True
# 3 False
# 4 True
# 5 True
# dtype: bool
523、pandas.DataFrame.equals方法
523-1、语法
# 523、pandas.DataFrame.equals方法
pandas.DataFrame.equals(other)
Test whether two objects contain the same elements.This function allows two Series or DataFrames to be compared against each other to see if they have the same shape and elements. NaNs in the same location are considered equal.The row/column index do not need to have the same type, as long as the values are considered equal. Corresponding columns and index must be of the same dtype.Parameters:
other
Series or DataFrame
The other Series or DataFrame to be compared with the first.Returns:
bool
True if all elements are the same in both objects, False otherwise.
523-2、参数
523-2-1、other(必须):指要与当前DataFrame进行比较的另一个DataFrame。
523-3、功能
用于判断两个DataFrame是否相等,它比较两个DataFrame中的所有元素,并返回一个布尔值,指示它们是否完全相同。
523-4、返回值
返回True表示两个DataFrame完全相同(包括相同的元素、相同的标签和相同的数据类型),否则返回False。
523-5、说明
无
523-6、用法
523-6-1、数据准备
无
523-6-2、代码示例
# 523、pandas.DataFrame.equals方法
import pandas as pd
# 创建两个相同的DataFrame
data1 = {'A': [1, 2, 3],'B': ['a', 'b', 'c']
}
data2 = {'A': [1, 2, 3],'B': ['a', 'b', 'c']
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 比较两个DataFrame
result = df1.equals(df2)
print(result)
# 创建一个不同的DataFrame
data3 = {'A': [1, 2, 4],'B': ['a', 'b', 'd']
}
df3 = pd.DataFrame(data3)
# 比较df1和df3
result = df1.equals(df3)
print(result)
523-6-3、结果输出
# 523、pandas.DataFrame.equals方法
# True
# False
524、pandas.DataFrame.filter方法
524-1、语法
# 524、pandas.DataFrame.filter方法
pandas.DataFrame.filter(items=None, like=None, regex=None, axis=None)
Subset the dataframe rows or columns according to the specified index labels.Note that this routine does not filter a dataframe on its contents. The filter is applied to the labels of the index.Parameters:
items
list-like
Keep labels from axis which are in items.like
str
Keep labels from axis for which “like in label == True”.regex
str (regular expression)
Keep labels from axis for which re.search(regex, label) == True.axis
{0 or ‘index’, 1 or ‘columns’, None}, default None
The axis to filter on, expressed either as an index (int) or axis name (str). By default this is the info axis, ‘columns’ for DataFrame. For Series this parameter is unused and defaults to None.Returns:
same type as input object.
524-2、参数
524-2-1、items(可选,默认值为None):类似列表的对象,例如list、tuple等,用于精确指定要保留的行或列的标签,只有这些标签对应的部分会被保留。
524-2-2、like(可选,默认值为None):字符串,根据包含某个字符串的标签进行过滤,标签中只要包含了指定字符串的行或列就会被保留。
524-2-3、regex(可选,默认值为None):正则表达式,使用正则表达式进行标签匹配,匹配成功的标签对应的行或列会被保留。
524-2-4、axis(可选,默认值为None):{0 or 'index', 1 or 'columns'}, 指定要应用筛选的轴,0或'index'表示按行过滤,1或'columns'表示按列过滤。
524-3、功能
用于根据指定条件筛选DataFrame的行或列,返回符合条件的一个新的DataFrame,该方法提供了通过标签、关键词或正则表达式来进行灵活过滤的方式。
524-4、返回值
返回一个经过筛选的新DataFrame,原始DataFrame不会被修改。
524-5、说明
无
524-6、用法
524-6-1、数据准备
无
524-6-2、代码示例
# 524、pandas.DataFrame.filter方法
import pandas as pd
# 示例数据
data = {'A': [1, 2, 3],'B': [4, 5, 6],'C': [7, 8, 9],'D': [10, 11, 12]
}
df = pd.DataFrame(data)
# 使用items参数过滤列
filtered_df_items = df.filter(items=['A', 'C'])
print(filtered_df_items, end='\n\n')
# 使用like参数过滤列
filtered_df_like = df.filter(like='B')
print(filtered_df_like, end='\n\n')
# 使用regex参数过滤列
filtered_df_regex = df.filter(regex='[CD]')
print(filtered_df_regex)
524-6-3、结果输出
# 524、pandas.DataFrame.filter方法
# A C
# 0 1 7
# 1 2 8
# 2 3 9
#
# B
# 0 4
# 1 5
# 2 6
#
# C D
# 0 7 10
# 1 8 11
# 2 9 12
525、pandas.DataFrame.first方法
525-1、语法
# 525、pandas.DataFrame.first方法
pandas.DataFrame.first(offset)
Select initial periods of time series data based on a date offset.Deprecated since version 2.1: first() is deprecated and will be removed in a future version. Please create a mask and filter using .loc instead.For a DataFrame with a sorted DatetimeIndex, this function can select the first few rows based on a date offset.Parameters:
offset
str, DateOffset or dateutil.relativedelta
The offset length of the data that will be selected. For instance, ‘1ME’ will display all the rows having their index within the first month.Returns:
Series or DataFrame
A subset of the caller.Raises:
TypeError
If the index is not a DatetimeIndex.
525-2、参数
525-2-1、offset(必须):字符串,表示时间偏移量的字符串。例如,'5D'表示5天,'3M'表示3个月。
525-3、功能
基于时间索引提取从开始到指定偏移的行。
525-4、返回值
返回一个DataFrame对象,包含从DataFrame开始到指定偏移量的行。
525-5、说明
无
525-6、用法
525-6-1、数据准备
无
525-6-2、代码示例
# 525、pandas.DataFrame.first方法
import pandas as pd
import numpy as np
# 创建示例数据
dates =pd.date_range('2024-01-01', periods=10)
data = np.random.randn(10, 2)
df = pd.DataFrame(data, index=dates, columns=['A', 'B'])
# 使用 first() 方法提取前3天的数据
first3_days = df.first('3D')
print(first3_days)
525-6-3、结果输出
# 525、pandas.DataFrame.first方法
# A B
# 2024-01-01 -0.619384 1.252433
# 2024-01-02 -0.556967 0.084537
# 2024-01-03 0.692299 -0.505099
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
相关文章:

Python酷库之旅-第三方库Pandas(118)
目录 一、用法精讲 521、pandas.DataFrame.drop_duplicates方法 521-1、语法 521-2、参数 521-3、功能 521-4、返回值 521-5、说明 521-6、用法 521-6-1、数据准备 521-6-2、代码示例 521-6-3、结果输出 522、pandas.DataFrame.duplicated方法 522-1、语法 522-2…...

讨论人机交互研究中大语言模型的整合与伦理问题
概述 论文地址:https://arxiv.org/pdf/2403.19876.pdf 近年来,大规模语言模型发展迅速。它们给研究和教育领域带来了许多变化。这些模型也是对人机交互(HCI)研究过程的有力补充,可以分析定性和定量数据,再…...

OpenCV结构分析与形状描述符(23)确定一个点是否位于多边形内的函数pointPolygonTest()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 进行点在轮廓内的测试。 该函数确定点是在轮廓内、轮廓外,还是位于一条边上(或与顶点重合)。它返回正值&…...

GitLab CI_CD 从入门到实战笔记
第1章 认识GitLab CI/CD 1.3 GitLab CI/CD的几个基本概念 GitLab CI/CD由以下两部分构成。 (1)运行流水线的环境。它是由GitLab Runner提供的,这是一个由GitLab开发的开源软件包,要搭建GitLab CI/CD就必须安装它,因…...

微服务实战系列之玩转Docker(十五)
前言 博主的玩转Docker系列,今天正式开启第十五篇的征程! 在过去的十四篇中,涉及的内容有知识、有原理、有工具、更有实践。当你打开每一篇文章时,均会获得一个特定主题的知识和技巧,助你在云原生的世界里,…...
本地调试spark,访问kerberos鉴权的hdfs、hive
文章目录 准备连接hive的配置申请kerberos tgt在scala项目启动本地spark本地Jupyter Notebook启动pyspark 解决在wsl下进行开发、调试时,需要连接kerberos鉴权的hdfs、hive的问题 准备连接hive的配置 core-site.xml、hdfs-site.xml、yarn-site.xml、hive-site.xml复…...

Ubuntu 安装包下载(以20版本 阿里镜像站为例子)
Ubuntu安装包下载 上一篇文章写了一些国内常用的镜像站,这篇以阿里云镜像站Ubuntu20版本为例。 https://mirrors.aliyun.com/ubuntu-releases/ 1.点击自己想要下载的版本 2.点击以amd64.iso为结尾的文件,这个是安装文件,如果是桌面端&…...

会声会影Corel VideoStudio2025旗舰版最新中文旗舰版新功能讲解及使用会声会影使用教程
会声会影Corel VideoStudio2025旗舰版一款功能丰富的视频编辑软件。具有拖放式标题、转场、覆叠和滤镜,色彩分级、动态分屏视频和新增强的遮罩创建器,超越基本编辑,实现影院级效果。优化分屏剪辑功能,简化多时间轴编辑的工作流程&…...

【人工智能】OpenAI发布GPT-o1模型:推理能力的革命性突破,这将再次刷新编程领域的格局!
在人工智能领域,推理能力的提升一直是研究者们追求的目标。就在两天前,OpenAI正式发布了其首款具有推理能力的大语言模型——o1。这款模型的推出,不仅标志着AI技术的又一次飞跃,也为开发者和用户提供了全新的工具来解决复杂问题。…...

2024年TCGA基因表达数据下载(最新版)
文章目录 前言一、如何使用TCGA数据库获取公共数据?二、使用步骤1.点击Cohort Builder2.数据筛选3. Repository4.数据下载4.1 继续选择筛选条件4.2 添加cart并进入4.3 下载 总结 前言 TCGA 全称 The Cancer Genome Atlas ,即癌症基因组图谱。它是一个大型的癌症研…...

1. 运动控制指令概要(omron 机器自动化控制器)
机器自动化控制器——第一章 运动控制指令概要 1-1 运动控制指令PLCopen运动控制用功能块运动控制指令概要▶ 运动控制指令的种类▶ 状态变化▶ 运动控制指令的启动和状态▶ 异常处理▶ 执行运动控制指令时输入变量的变更(指令重启)▶ 通过选择缓存模式执行指令多重启动▶ 通过…...
依赖注入(Dependency Injection)
依赖注入是一种设计原则,主要用于减少类之间的紧耦合度,通过将对象的选择和创建逻辑外包给一个容器来实现动态注入。 适用场景: 当需要将对象的生命周期管理和依赖关系外包给外部容器时(如Spring DI容器)。当应用程序…...
PHP环境搭建
PHP环境搭建教程 PHP 是一种流行的后端开发语言,用于构建动态网站和 Web 应用程序。在开发和部署 PHP 项目之前,您需要设置一个适当的 PHP 环境。本教程将帮助您在不同操作系统上快速搭建 PHP 环境。 1. 环境准备 1.1 操作系统 本教程将介绍在以下操作…...
小叶OJ 2716: 过河问题 ← 贪心算法
【题目来源】http://xiaoye.ac.cn/problem.php?id2716【题目描述】 有 n 个人要渡河,但只有一条小船,这条小船一次只能坐下最多两个人,并且只有一副船桨。每个人划船的速度不一样,如果两个人一起上船,由于重量变大&am…...
LeetCode509:斐波那契数列
代码如下 class Solution { public:int fib(int n) {//这个是为了特殊n,当n 0时, 当 n 1时。if(n 0) return 0;if(n 1) return 1;//第一次开dp专题,连dp数组都忘记定义了。只写了下面,哭vector<int> dp(n 1, 0);dp[…...

5G前传-介绍
1. 引用 知识分享系列一:5G基础知识-CSDN博客 5G前传的最新进展-CSDN博客 灰光和彩光_通信行业5G招标系列点评之二:一文读懂5G前传-光纤、灰光、彩光、CWDM、LWDM、MWDM...-CSDN博客 术语: 英文缩写描述BBU:Building Baseba…...

【Python机器学习】循环神经网络(RNN)——超参数
几乎所有模型都可以根据数据和样本进行调整,它们都有各自的优势和相应的利弊权衡方式。寻找最优超参数集通常是一个棘手的问题,但是人类的直觉和经验可以为我们提供解决问题的方法。比如之前的例子: #设置任意输入序列的最大长度 maxlen100 …...

【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树
在安卓源码的设计中,将将屏幕分为了37层,不同的窗口将在不同的层级中显示。 对这一块的概念以及相关源码做了详细分析,整理出以下几篇。 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树 【Android 13源码分析】WindowCon…...

Node.js的学习2——内置模块(一)
Node.js的内置模块 module模块global全局变量Console控制台Errors错误模块捕获异常异步方法通过回调函数传递异常事件触发器对象异常捕获 module模块 使用module模块可以查看Node.js所有的内置模块、在所有模块中都可以使用的全局变量、程序在运行过程中可能会出现的四类错误。…...

信息安全工程师(5)域名与域名解析
一、域名 1. 定义与功能 域名(Domain Name)是互联网上用于标识网站或服务器地址的名称,由一串由点分隔的字符组成,如“example.com”。域名的主要功能是提供一种便于记忆和输入的地址形式,以代替难以记忆的IP地址。域名…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...