Python酷库之旅-第三方库Pandas(079)

目录

一、用法精讲

326、pandas.Series.str.normalize方法

326-1、语法

326-2、参数

326-3、功能

326-4、返回值

326-5、说明

326-6、用法

326-6-1、数据准备

326-6-2、代码示例

326-6-3、结果输出

327、pandas.Series.str.pad方法

327-1、语法

327-2、参数

327-3、功能

327-4、返回值

327-5、说明

327-6、用法

327-6-1、数据准备

327-6-2、代码示例

327-6-3、结果输出

328、pandas.Series.str.partition方法

328-1、语法

328-2、参数

328-3、功能

328-4、返回值

328-5、说明

328-6、用法

328-6-1、数据准备

328-6-2、代码示例

328-6-3、结果输出

329、pandas.Series.str.removeprefix方法

329-1、语法

329-2、参数

329-3、功能

329-4、返回值

329-5、说明

329-6、用法

329-6-1、数据准备

329-6-2、代码示例

329-6-3、结果输出

330、pandas.Series.str.removesuffix方法

330-1、语法

330-2、参数

330-3、功能

330-4、返回值

330-5、说明

330-6、用法

330-6-1、数据准备

330-6-2、代码示例

330-6-3、结果输出

一、用法精讲

326、pandas.Series.str.normalize方法
326-1、语法
# 326、pandas.Series.str.normalize方法
pandas.Series.str.normalize(form)
Return the Unicode normal form for the strings in the Series/Index.For more information on the forms, see the unicodedata.normalize().Parameters:
form
{‘NFC’, ‘NFKC’, ‘NFD’, ‘NFKD’}
Unicode form.Returns:
Series/Index of objects.
326-2、参数

326-2-1、form(必须)指定了规范化的形式,可以选择以下四种形式:

  • 'NFC':Normalization Form C (Canonical Composition),规范化形式C,将分解的字符组合成一个字符。比如,将 "é" 和 "é" 规范化为 "é"。
  • 'NFD':Normalization Form D (Canonical Decomposition),规范化形式D,将字符分解为其基础字符和组合标记。比如,将 "é" 分解为 "e" 和 "́"。
  • 'NFKC':Normalization Form KC (Compatibility Composition),兼容性组合,将兼容性等价的字符组合到一起,同时执行 NFC 规范化。
  • 'NFKD':Normalization Form KD (Compatibility Decomposition),兼容性分解,将字符分解为其兼容性等价的基础字符和组合标记。
326-3、功能

        对字符串进行规范化处理,确保字符序列的唯一性,它对于处理来自不同来源的数据、统一字符串格式、提高字符串比较的一致性非常有用。

326-4、返回值

        返回一个新的pandas.Series对象,其中每个字符串都经过指定形式的规范化处理。

326-5、说明

        无

326-6、用法
326-6-1、数据准备
326-6-2、代码示例
# 326、pandas.Series.str.normalize方法
import pandas as pd
# 示例数据
data = pd.Series(['café', 'e\u0301clair', 'cafe\u0301'])
# 使用NFC进行规范化
normalized_data = data.str.normalize('NFC')
print(normalized_data)
# 使用NFD进行规范化
normalized_data = data.str.normalize('NFD')
print(normalized_data)
# 使用NFKC进行规范化
normalized_data = data.str.normalize('NFKC')
print(normalized_data)
# 使用NFKD进行规范化
normalized_data = data.str.normalize('NFKD')
print(normalized_data)
326-6-3、结果输出
# 326、pandas.Series.str.normalize方法
# 0      café
# 1    éclair
# 2      café
# dtype: object
# 0      café
# 1    éclair
# 2      café
# dtype: object
# 0      café
# 1    éclair
# 2      café
# dtype: object
# 0      café
# 1    éclair
# 2      café
# dtype: object
327、pandas.Series.str.pad方法
327-1、语法
# 327、pandas.Series.str.pad方法
pandas.Series.str.pad(width, side='left', fillchar=' ')
Pad strings in the Series/Index up to width.Parameters:
width
int
Minimum width of resulting string; additional characters will be filled with character defined in fillchar.side
{‘left’, ‘right’, ‘both’}, default ‘left’
Side from which to fill resulting string.fillchar
str, default ‘ ‘
Additional character for filling, default is whitespace.Returns:
Series or Index of object
Returns Series or Index with minimum number of char in object.
327-2、参数

327-2-1、width(必须)整数,用于定义字符串在填充后的总宽度,如果字符串的长度小于这个宽度,将会在指定方向填充字符,使其达到指定宽度。

327-2-2、side(可选,默认值为'left')指定填充的方向,选项有:

  • 'left':在字符串的左侧进行填充。
  • 'right':在字符串的右侧进行填充。
  • 'both':在字符串的两侧进行填充,如果需要在两侧填充,但总宽度不均匀,多余的填充字符会放在右侧。

327-2-3、fillchar(可选,默认值为' ')字符串,用于填充的字符,该字符必须是单个字符长度的字符串。

327-3、功能

        将字符串填充到指定的宽度,这对于对齐文本或格式化输出非常有用,根据需要,您可以选择在字符串的左侧、右侧或两侧添加填充字符。

327-4、返回值

        返回一个新的pandas.Series对象,其中每个字符串都经过了指定方向和填充字符的处理,长度达到了指定的宽度。

327-5、说明

        无

327-6、用法
327-6-1、数据准备
327-6-2、代码示例
# 327、pandas.Series.str.pad方法
import pandas as pd
# 示例数据
data = pd.Series(['cat', 'dog', 'elephant'])
# 在左侧填充,使每个字符串的长度达到10,填充字符为'*'
padded_left = data.str.pad(width=10, side='left', fillchar='*')
# 在右侧填充,使每个字符串的长度达到10,填充字符为'-'
padded_right = data.str.pad(width=10, side='right', fillchar='-')
# 在两侧填充,使每个字符串的长度达到10,填充字符为'~'
padded_both = data.str.pad(width=10, side='both', fillchar='~')
print("Left Padded:\n", padded_left)
print("Right Padded:\n", padded_right)
print("Both Sides Padded:\n", padded_both)
327-6-3、结果输出
# 327、pandas.Series.str.pad方法
# Left Padded:
#  0    *******cat
# 1    *******dog
# 2    **elephant
# dtype: object
# Right Padded:
#  0    cat-------
# 1    dog-------
# 2    elephant--
# dtype: object
# Both Sides Padded:
#  0    ~~~cat~~~~
# 1    ~~~dog~~~~
# 2    ~elephant~
# dtype: object
328、pandas.Series.str.partition方法
328-1、语法
# 328、pandas.Series.str.partition方法
pandas.Series.str.partition(sep=' ', expand=True)
Split the string at the first occurrence of sep.This method splits the string at the first occurrence of sep, and returns 3 elements containing the part before the separator, the separator itself, and the part after the separator. If the separator is not found, return 3 elements containing the string itself, followed by two empty strings.Parameters:
sep
str, default whitespace
String to split on.expand
bool, default True
If True, return DataFrame/MultiIndex expanding dimensionality. If False, return Series/Index.Returns:
DataFrame/MultiIndex or Series/Index of objects.
328-2、参数

328-2-1、sep(可选,默认值为' ')字符串,用于分割字符串的分隔符,该分隔符可以是任意字符或字符串。如果字符串中没有找到指定的分隔符,那么结果将包含原字符串,并且中间和右侧的结果为空字符串。

328-2-2、expand(可选,默认值为True)布尔值,指定返回值的形式。

  • 如果为True,方法将返回一个DataFrame,其中包含三列,分别对应分隔符前的部分、分隔符本身、分隔符后的部分。
  • 如果为False,方法将返回一个Series,其中每个元素是一个包含这三部分的元组(before,sep,after)。
328-3、功能

        通过指定的分隔符将每个字符串分为三部分,该方法非常适合用于处理包含特定分隔符的字符串,帮助我们快速获取分隔符两侧的内容。

328-4、返回值

        根据expand参数的值,该方法有两种不同的返回值:

  • 当expand=True时,返回一个DataFrame,每列分别表示分隔符前的部分、分隔符本身、分隔符后的部分。
  • 当expand=False时,返回一个Series,其中每个元素是一个(before,sep,after)的元组。
328-5、说明

        无

328-6、用法
328-6-1、数据准备
328-6-2、代码示例
# 328、pandas.Series.str.partition方法
import pandas as pd
# 示例数据
data = pd.Series(['apple-pie', 'banana-split', 'cherry'])
# 使用'-'作为分隔符进行分割,expand=True,返回DataFrame
partitioned_df = data.str.partition(sep='-', expand=True)
# 使用'-'作为分隔符进行分割,expand=False,返回Series
partitioned_series = data.str.partition(sep='-', expand=False)
print("Partitioned DataFrame:\n", partitioned_df)
print("Partitioned Series:\n", partitioned_series)
328-6-3、结果输出
# 328、pandas.Series.str.partition方法
# Partitioned DataFrame:
#          0  1      2
# 0   apple  -    pie
# 1  banana  -  split
# 2  cherry          
# Partitioned Series:
#  0       (apple, -, pie)
# 1    (banana, -, split)
# 2          (cherry, , )
# dtype: object
329、pandas.Series.str.removeprefix方法
329-1、语法
# 329、pandas.Series.str.removeprefix方法
pandas.Series.str.removeprefix(prefix)
Remove a prefix from an object series.If the prefix is not present, the original string will be returned.Parameters:
prefix
str
Remove the prefix of the string.Returns:
Series/Index: object
The Series or Index with given prefix removed.
329-2、参数

329-2-1、prefix(必须)字符串,指定要移除的前缀,如果字符串的开头部分与prefix匹配,那么该部分将被移除;如果字符串不以prefix开头,则字符串保持不变。

329-3、功能

        从每个字符串的开头移除指定的前缀,该方法特别适用于清理数据时,需要删除统一的开头标识符或固定格式的前缀。

329-4、返回值

        返回一个新的Series,其中每个字符串都已经移除了指定的前缀,如果原始字符串不包含指定的前缀,则返回的字符串与原字符串相同。

329-5、说明

        无

329-6、用法
329-6-1、数据准备
329-6-2、代码示例
# 329、pandas.Series.str.removeprefix方法
import pandas as pd
# 示例数据
data = pd.Series(['prefix_text1', 'prefix_text2', 'no_prefix_text'])
# 使用'removeprefix'方法移除前缀'prefix_'
removed_prefix = data.str.removeprefix('prefix_')
print("Original Series:\n", data)
print("Series after removing prefix:\n", removed_prefix)
329-6-3、结果输出
# 329、pandas.Series.str.removeprefix方法
# Original Series:
#  0      prefix_text1
# 1      prefix_text2
# 2    no_prefix_text
# dtype: object
# Series after removing prefix:
#  0             text1
# 1             text2
# 2    no_prefix_text
# dtype: object
330、pandas.Series.str.removesuffix方法
330-1、语法
# 330、pandas.Series.str.removesuffix方法
pandas.Series.str.removesuffix(suffix)
Remove a suffix from an object series.If the suffix is not present, the original string will be returned.Parameters:
suffix
str
Remove the suffix of the string.Returns:
Series/Index: object
The Series or Index with given suffix removed.
330-2、参数

330-2-1、suffix(必须)字符串,指定要移除的后缀,如果字符串的结尾部分与suffix匹配,那么该部分将被移除;如果字符串不以suffix结尾,则字符串保持不变。

330-3、功能

        从每个字符串的结尾移除指定的后缀,该方法特别适用于清理数据时,需要删除统一的结尾标识符或固定格式的后缀。

330-4、返回值

        返回一个新的Series,其中每个字符串都已经移除了指定的后缀,如果原始字符串不包含指定的后缀,则返回的字符串与原字符串相同。

330-5、说明

        无

330-6、用法
330-6-1、数据准备
330-6-2、代码示例
# 330、pandas.Series.str.removesuffix方法
import pandas as pd
# 示例数据
data = pd.Series(['text1_suffix', 'text2_suffix', 'text3_nosuffix'])
# 使用'removesuffix'方法移除后缀'_suffix'
removed_suffix = data.str.removesuffix('_suffix')
print("Original Series:\n", data)
print("Series after removing suffix:\n", removed_suffix)
330-6-3、结果输出
# 330、pandas.Series.str.removesuffix方法
# Original Series:
#  0      text1_suffix
# 1      text2_suffix
# 2    text3_nosuffix
# dtype: object
# Series after removing suffix:
#  0             text1
# 1             text2
# 2    text3_nosuffix
# dtype: object

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

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

相关文章

升级软文发稿开源系统源码论文期刊一键发布

升级软文发稿运营管理源码—论文期刊一键发布 软文发稿系统源码(软文发布系统)在基于旧版本的媒介软文发布平台项目改造升级了新的功能模块简称(3.0版)本系统还是基于开源的PHPMYSQLlayui(前端界面)代码进行…

Vue3使用ECharts的曲线条形堆叠混合图

先上效果图 图表容器 <div id"leftChart" style"height: 28vh"></div> <div id"rightChart" style"height: 28vh"></div> 监听resize视图窗口大小&#xff0c;可以让chart图表自适应大小 const leftChart …

wireshark使用介绍及案例分享

一、wireshark介绍 1、定义 wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。对应的,linux下的抓包工具是 tcpdump。 1.1、网络基础 参考TCP/IP五层模型,帧结构如下: 帧字段 帧字段含义 Frame 物理层的…

统计学第3天

P值 P值是原假设&#xff08;零假设&#xff09;H0为真的前提下&#xff0c;观察到的异常数据出现的概率。 如果P值很小&#xff0c;意味着原假设为真的情况下&#xff0c;取出能拒绝原假设数据的概率极低&#xff0c;此时取出了一个数据和原假设不符&#xff0c;说明了该组数…

ICMAN水位接近式检测方案(非接触式)

ICMAN水位液位接近式检测方案&#xff08;非接触式&#xff09; 我们的很多家用电器都会需要&#xff1a;液位检测 缺水&溢水提醒保护、高低液位提醒 液位传感器 像健康家电——烧水煮茶熬养生汤的烧水壶、豆浆机、养生壶等需要缺水保护和防溢液提醒&#xff1b; 像清洁…

DAMA学习笔记(十五)-数据管理组织与角色期望

1.引言 随着数据领域的快速发展&#xff0c;组织需要改进管理和治理数据的方式。当前&#xff0c;大多数组织正面临着越来越多的数据。这些数据格式多样、数量 庞大&#xff0c;并来源于不同的渠道。由于数据数量和种类的增加&#xff0c;加剧了数据 管理的复杂性。与此同时&am…

科研绘图系列:R语言多分组箱线图(grouped boxplot)

介绍 分组箱线图(Grouped Boxplot)是一种用于展示不同组别数据分布情况的统计图表。它将箱线图(Boxplot)按照不同的类别或组别进行分组,使得可以同时比较多个组别的数据特征。 箱线图本身是一种标准化的显示数据分布的方法,它能够展示数据的中位数、四分位数以及异常值…

【upload]-ini-[SUCTF 2019]CheckIn-笔记

上传图片木马文件后看到&#xff0c;检查的文件内容&#xff0c;包含<? 一句话木马提示 检查的文件格式 用如下图片木马&#xff0c;加上GIF89a绕过图片和<?检查 GIF89a <script languagephp>eval($_POST[cmd])</script> .user.ini实际上就是一个可以由用…

RAG与LLM原理及实践(11)--- Milvus hybrid search 源码分析及思想

目录 背景 hybrid search 源码分析 WeightedRanker 源码 hybrid search 核心 参数详解 基本入参 扩展入参 aysnc方式代码调用案例 说明 源码逻辑 prepare 调用过程 stub 调用结果 stub 调用过程 blocking 与 async 调用方式 深入内部core weightedRanker 的ch…

UCOSIII事件标志组详解

UCOSIII中的事件标志组是一种用于任务同步和事件管理的机制&#xff0c;它允许任务和中断服务例程&#xff08;ISR&#xff09;发布事件标志&#xff0c;并允许任务等待这些事件标志的发生。以下是对UCOSIII事件标志组的详细介绍&#xff1a; 1. 定义与创建 定义&#xff1a;…

软考:软件设计师 — 13.数据结构

十三. 数据结构 数据结构部分也可参考文章&#xff1a;Java数据结构知识点 — 5种常见数据结构 1. 线性结构 &#xff08;1&#xff09;线性表 顺序表 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的数据元素&#xff0c;从而使得逻辑上相邻的两个元素…

并行计算模型

像其他专业行话一样&#xff0c;并行计算也有自己的行话。行话就像个大坑&#xff0c;坑中的人需要在其中浸淫很久&#xff0c;才能逐渐适应其语境&#xff0c;然而很多行话的使用常常是草率与不精确的。有时候把鬼都听不懂的行话理解了&#xff0c;再跟别人说鬼话&#xff0c;…

【MySQL 06】表的约束

文章目录 &#x1f308; 一、约束的概念&#x1f308; 二、空属性约束⭐ 1. 空值无法参与运算⭐ 2. 设置非空属性 &#x1f308; 三、默认值约束⭐ 1. 默认值使用案例⭐ 2. 同时设置 not null 和 default &#x1f308; 四、列描述约束&#x1f308; 五、zerofill 补零约束&…

校园外卖平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;菜品信息管理&#xff0c;菜品分类管理&#xff0c;购买菜品管理&#xff0c;订单信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&a…

【python报错已解决】`IndexError: list index out of range`

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一&#xff1a;检查索引范围2.2 方法二…

Java - IDEA开发

使用IDEA开发Java程序步骤&#xff1a; 创建工程 Project&#xff1b;创建模块 Module&#xff1b;创建包 Package&#xff1b;创建类&#xff1b;编写代码&#xff1b; 如何查看JDK版本 Package介绍: package是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、…

哈希表 - 三数之和

15. 三数之和 方法一&#xff1a;排序双指针 /*** param {number[]} nums* return {number[][]}*/ var threeSum function(nums) {const res [], len nums.length;// 将数组排序nums.sort((a, b) > a - b)for (let i 0; i < len; i) {let l i 1, r len - 1, iNum…

宝塔面板实现定时任务删除 logs文件 加条件删除 只删除一个月前的日志

我们在开发中难免用到了日志功能&#xff0c;随着日志越来越多导致占用我们的内存 下面是一个简单的 使用宝塔面板里面的定时任务来实现删除日志案例 第一步 首先我的日志文件目录 都在log文件夹里面&#xff0c; 每个月生成一个日志文件夹 文件夹命名是年月来命名的 第二…

Java面试八股之什么是AMQP协议

什么是AMQP协议 AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;是一个开放标准的应用层协议&#xff0c;旨在为消息中间件提供一种统一的、标准的通信方式。它允许消息在分布式系统中的应用程序之间进行可靠的、异步的传递。AMQ…

【云原生】Pass容器研发基础——汇总篇

云原生基础汇总 系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了云计算学习的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;每个知识点的修正和深入主要参考各平台大佬的文章&#xff0c…