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、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/424941.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

III 网络诈骗也玩区块链?加密货币的分类小知识!

大家好啊,我是豆小匠。 区块链第三期,这期拓展一下加密货币的话题。 如果要用加密货币来发工资,你希望用哪个? 你大概不会希望是比特币,比特币的波动性太高,可能刚发下来工资,亏损就超过了10%…

Java小区物业管理系统

技术架构: springboot mybatis thymeleaf Mysql5.7 有需要该项目的小伙伴可以添加我Q:598748873,备注:CSDN 功能描述: 控制台、数据库、楼栋管理、单元管理、房屋管理、车位管理、缴费类型、缴费管理、公告管理…

Linux下进程间的通信--共享内存

共享内存概述: 共享内存是进程间通信的一种方式,它允许两个或多个进程共享一个给定的存储区。共享内存是最快的一种IPC形式,因为它允许进程直接对内存进行读写操作,而不需要数据在进程之间复制。 共享内存是进程间通信&#xff…

Python基础语法(3)下

列表和元组 列表是什么,元组是什么 编程中,经常需要使用变量,来保存/表示数据。变量就是内存空间,用来表示或者存储数据。 如果代码中需要表示的数据个数比较少,我们直接创建多个变量即可。 num1 10 num2 20 num3…

2024.9.12(k8s环境搭建2)

一、接9.11 19、部署calico的pod 4. 查看容器和节点状态 异常处理: 出现Init:0/3,查看node节点 /var/log/messages是否有除网络异常之外的报错信息 三台机器执行:(更新版本) yum list kernel yum update kernel reb…

【ArcGIS】栅格计算器原理及案例介绍

ArcGIS:栅格计算器原理及案例介绍 栅格计算器(Raster Calculator)原理介绍案例案例1:计算栅格数据平均值 参考 栅格计算器(Raster Calculator)原理介绍 描述:在类似计算器的界面中,…

Linux进程概念(下)

前言 上文介绍了进程的基本概念,进程内核数据结构可执行程序,查看进程的方式ps 和/proc指令。 又熟悉常见的进程状态,状态修改的本质就是将PCB标志位更改,然后放到指定的队列中。 本文继续介绍进程的概念,将介绍进程…

网络安全学习(四)渗透工具msf

本文简要介绍metasploit framework,是一款渗透工具。官网地址:Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit msf是一个框架,可以加载各种模块,这是它的最强大之处。 kali中有此工具。 点击即…

maya的重命名物体和材质工具(带ai过程)

对材质同样也有效 被AI干失业的卖衣服的小姐姐,开的士的小哥哥都可以再就业的易上手教程, 先看效果! 对物体命名也是,相当的美观 先提出需求我想在maya中批量重命名物体怎么办?AI给你弄个短代码 ,放进AI进…

音视频入门基础:AAC专题(5)——FFmpeg源码中,判断某文件是否为AAC裸流文件的实现

一、引言 通过FFmpeg命令: ./ffmpeg -i XXX.aac 可以判断出某个文件是否为AAC裸流文件: 所以FFmpeg是怎样判断出某个文件是否为AAC裸流文件呢?它内部其实是通过adts_aac_probe函数来判断的。从《FFmpeg源码:av_probe_input_for…

3. 进阶指南:自定义 Prompt 提升大模型解题能力

怎么判断 Prompt 的好坏,有什么问题有着标准答案么? 答:让大模型求解数学问题。 李宏毅老师的 HW4 正好提到了有关数学问题的 Prompt,所以我决定中间插一篇这样的文章。通过本文你将: 了解各种 Prompt 如何影响大型语言…

无人机飞手培训机构组建及市场分析

飞手培训机构是专门为培养无人机飞行员(飞手)而设立的教育机构。这些机构通过提供专业的培训课程,帮助学员掌握无人机飞行技术、了解相关法规、提升实战能力,并最终获得相关证书,以便在航拍摄影、农业植保、物流配送、…

图新地球-将地图上大量的地标点批量输出坐标到csv文件【kml转excel】

0.序 有很多用户需要在卫星影像、或者无人机航测影像、倾斜模型上去标记一些地物的位置(如电线杆塔、重点单位、下水盖等) 标记的位置最终又需要提交坐标文本文件给上级单位或者其他部门使用,甚至需要转为平面直角坐标。 本文的重点是通过of…

【Go开发】Go语言基本语法入门:数据类型与方法定义

文章目录 环境准备一、引言二、Var关键字三、数据类型1. 整型符号表示值的范围 2. 浮点型精度范围性能 3. 布尔型4. 字符串 三、变量声明1. 指定变量类型2. 自动推导类型3. 批量声明 四、方法定义五、总结 环境准备 开发环境:MacOS Go版本:go version g…

单线程与2个线程的简易理解

前言 有个需要10个步骤完成的任务,假设每个步骤需要1秒 单线程耗费10秒完成任务 2根线程可能耗费6秒,也可能更少 单线程程序 单线程下,步骤按照次序顺序执行,共计耗费10秒 2个线程的程序 有步骤可以在同一时刻同时运行&…

python-素数中的等差数列

题目描述 质数是在数论中很有意思的数,有很多题都可以围绕它来出,就如你眼前所见的这道题。 给定一个闭区间 [a,b] ,将此范围内的所有素数进行从小到大排序,对于连续的素数,我们可以发现很多等差数列(元素个数大于等于 3 )&#x…

【Leetcode:1184. 公交站间的距离 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

第十一章 【后端】商品分类管理微服务(11.1)——创建父工程

第十一章 【后端】商品分类管理微服务 11.1 创建父工程 项目名称:EasyTradeManagerSystem:Easy 表示简单易用,Trade 表示交易,Manager 表示管理,System 表示系统,强调系统在商品交易管理方面的便捷性,简称 etms。 新建工程 yumi-etms yumi-etms 作为所有模块的父工程,…

汽车免拆诊断案例 | 沃尔沃V40 1.9TD断续工作

故障现象 一辆04款的沃尔沃V40 1.9 TD,发动机代码D4192T3,使用博世EDC15C发动机管理。客户说车子断续工作,怀疑是正时皮带出现问题。卸下上皮带盖,检查发现皮带仍然在原来的位置上并且没有出现松动。起动发动机,车辆能…

整数在内存中的存储原码反码补码

目录 1.整数在内存中以二进制的形式存在 1.1(正数存储情况) 1.2 负数存储情况 1.3整数的补码如何得到原码 2.无符号整数的原反补码 小心!VS2022不可直接接触,否则!没这个必要,方源面色淡然一把抓住&am…