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地址。域名…...

idear导入他人项目如何快速运行
最近idear经常导入别人的项目,结果永远在加载依赖项。网上查了一堆资料,什么jdk问题,环境变量问题,maven仓库路径问题,总之就是没啥用。那有没有什么简单粗暴的办法,能够导入项目后快速运行呢。 解决方法&a…...

直流无刷电机霍尔线序自学习解释
直流无刷电机霍尔线序自学习 步骤详解 1. 初始连接 连接电机的三相线:A、B、C。连接霍尔传感器线:HA、HB、HC。 2. 输入电压组合与霍尔信号记录 电机的电压输入组合和霍尔信号记录是电机控制系统中至关重要的一部分,它们决定了电机的运转…...
C++学习笔记(26)
七 、显示字符串中的字符 从界面上输入一个字符串(C 风格),把字符串中的每个字符显示出来,如果输入的是"abc",要求: 1)正序显示:a b c 2)逆序显示:…...

安卓14剖析SystemUI的ShadeLogger/LogBuffer日志动态控制输出dumpsy机制
背景: 看SystemUI的锁屏相关代码时候发现SystemUI有一个日志打印相关的方法调用,相比于常规的Log.i直接可以logcat查看方式还是比较新颖。 具体日志打印代码如下: 下面就来介绍一下这个ShadeLogger到底是如何打印的。 分析源码࿱…...

华为CNA VRM搭建(使用vmware worfstartion搭建)
创建虚拟机: 自定义→高级 选择硬件兼容性:默认安装版本,如果未来想要将此虚拟机安装到其他电脑,其他电脑版本过低,此时可以向下兼容,这里我们默认版本 稍后安装操作系统: CNA采用Euler OS系统…...

【WRF工具】WRF Domain Wizard第二期:使用教程
【WRF工具】WRF Domain Wizard第二期:使用教程 WRF Domain Wizard使用教程1)Wizard Option:新建区域/打开已有区域2)New Domain:新建区域3)Horizontal Editor:水平编辑器4)Namelist.…...

智能摄像头MP4格式化恢复方法
如果说生孩子扎堆,那很显然最近智能摄像头多碎片的恢复也扎堆了,这次恢复的是一个不知名的小品牌。其采用了mp4视频文件方案,不过这个案例的特殊之处在于其感染了病毒且不只一次,我们来看看这个小品牌的智能恢复头格式化的恢复方法…...

【C++】unordered系列
前言: 在C11及以后的标准中,unordered容器是标准模板库(STL)的一部分,提供了高效的数据结构选项,适用于需要快速查找和插入操作的场景。 unordered通常与关联容器一起使用,特别是unordered_map和…...

Cobbler 搭建方法
统信服务器操作系统行业版V20-1000c【Cobbler 搭建】手册 统信服务器操作系统行业版 V20版本上Cobbler 搭建方法 文章目录 功能概述一、使用范围二、cobbler工作流程1. Server 端2. Client 端三、 环境准备1. 测试环境告知,以提供配置时参考:2. 关闭防火墙、selinux:3. 注意…...

从边缘到云端,合宙DTURTU打造无缝物联网解决方案
随着物联网(IoT)技术的飞速发展,万物互联的时代已经到来, 如何高效、稳定地连接边缘设备与云端平台,实现数据的实时采集、传输与处理,成为了推动物联网应用落地的关键。 DTU(数据传输单元&…...