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

news2024/11/17 3:39:53

目录

一、用法精讲

336、pandas.Series.str.rpartition方法

336-1、语法

336-2、参数

336-3、功能

336-4、返回值

336-5、说明

336-6、用法

336-6-1、数据准备

336-6-2、代码示例

336-6-3、结果输出

337、pandas.Series.str.slice方法

337-1、语法

337-2、参数

337-3、功能

337-4、返回值

337-5、说明

337-6、用法

337-6-1、数据准备

337-6-2、代码示例

337-6-3、结果输出

338、pandas.Series.str.slice_replace方法

338-1、语法

338-2、参数

338-3、功能

338-4、返回值

338-5、说明

338-6、用法

338-6-1、数据准备

338-6-2、代码示例

338-6-3、结果输出

339、pandas.Series.str.split方法

339-1、语法

339-2、参数

339-3、功能

339-4、返回值

339-5、说明

339-6、用法

339-6-1、数据准备

339-6-2、代码示例

339-6-3、结果输出

340、pandas.Series.str.rsplit方法

340-1、语法

340-2、参数

340-3、功能

340-4、返回值

340-5、说明

340-6、用法

340-6-1、数据准备

340-6-2、代码示例

340-6-3、结果输出

一、用法精讲

336、pandas.Series.str.rpartition方法
336-1、语法
# 336、pandas.Series.str.rpartition方法
pandas.Series.str.rpartition(sep=' ', expand=True)
Split the string at the last occurrence of sep.

This method splits the string at the last 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 two empty strings, followed by the string itself.

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.
336-2、参数

336-2-1、sep(可选,默认值为' ')字符串,用作分隔符的字符串,你可以设置为任何字符串,作为切割的依据。

336-2-2、expand(可选,默认值为True)布尔值,如果为True,返回一个DataFrame,其中每一列分别对应分隔符前、分隔符和分隔符后的部分;如果为False,返回一个Series,其中每个元素是一个包含三部分的元组。

336-3、功能

        从右侧开始查找指定的分隔符,将字符串分为三部分。对于每个字符串,它会查找最后一次出现的分隔符,将字符串分割成以下三部分:

  • 分隔符前的部分
  • 分隔符本身
  • 分隔符后的部分
336-4、返回值

        如果expand=True,返回一个DataFrame,包含三列,分别是分隔符前的部分、分隔符、分隔符后的部分;如果expand=False,返回一个Series,每个元素是一个包含上述三部分的元组。

336-5、说明

        使用场景:

336-5-1、数据清洗与处理:在数据清洗过程中,常常需要从字符串中提取特定信息,比如从文件路径中提取文件名或文件扩展名,可以使用rpartition方法找到最后一个斜杠,并将路径分割成目录和文件。

336-5-2、文本分析:在进行文本分析时,可能需要从句子中提取特定的词或字符串段,例如,获取最后一个单词和其之前的部分,这在处理评论、反馈等用户生成内容时尤其有用。

336-5-3、分割复合数据:在某些情况下,字符串可能包含用特定字符分隔的复合数据(如“键:值”对),使用rpartition可以方便地将其分成键和值。

336-6、用法
336-6-1、数据准备
336-6-2、代码示例
# 336、pandas.Series.str.rpartition方法
# 336-1、数据清洗(提取文件名)
import pandas as pd
# 示例数据
file_paths = pd.Series([
    '/home/user/documents/report.pdf',
    '/var/www/html/index.html',
    '/tmp/example.txt'
])
# 使用rpartition提取文件名
file_names = file_paths.str.rpartition('/')[2]
print("提取的文件名:")
print(file_names, end='\n\n')

# 336-2、文本分析(提取最后一个单词)
import pandas as pd
# 示例数据
sentences = pd.Series([
    'The quick brown fox',
    ' jumps over the lazy dog',
    'Hello world'
])
# 提取最后一个单词
last_words = sentences.str.rpartition(' ')[2]
print("提取的最后一个单词:")
print(last_words, end='\n\n')

# 336-3、分割复合数据(提取键和值)
import pandas as pd
# 示例数据
key_value_pairs = pd.Series([
    'name:Alice',
    'age:30',
    'city:New York'
])
# 提取键和值
keys = key_value_pairs.str.rpartition(':')[0]
values = key_value_pairs.str.rpartition(':')[2]
print("提取的键:")
print(keys)
print("提取的值:")
print(values)
336-6-3、结果输出
# 336、pandas.Series.str.rpartition方法
# 336-1、数据清洗(提取文件名)
# 提取的文件名:
# 0     report.pdf
# 1     index.html
# 2    example.txt
# Name: 2, dtype: object

# 336-2、文本分析(提取最后一个单词)
# 提取的最后一个单词:
# 0      fox
# 1      dog
# 2    world
# Name: 2, dtype: object

# 336-3、分割复合数据(提取键和值)
# 提取的键:
# 0    name
# 1     age
# 2    city
# Name: 0, dtype: object
# 提取的值:
# 0       Alice
# 1          30
# 2    New York
# Name: 2, dtype: object
337、pandas.Series.str.slice方法
337-1、语法
# 337、pandas.Series.str.slice方法
pandas.Series.str.slice(start=None, stop=None, step=None)
Slice substrings from each element in the Series or Index.

Parameters:
start
int, optional
Start position for slice operation.

stop
int, optional
Stop position for slice operation.

step
int, optional
Step size for slice operation.

Returns:
Series or Index of object
Series or Index from sliced substring from original string object.
337-2、参数

337-2-1、start(可选,默认值为None)整数或None,指定要开始切片的位置索引,索引从0开始,如果未指定或为None,则默认从字符串的起始位置开始。

337-2-2、stop(可选,默认值为None)整数或None,指定切片结束的位置索引,切片不包括该位置的字符,如果未指定或为None,则默认切到字符串的末尾。

337-2-3、step(可选,默认值为None)整数或None,指定步长,默认为None,即步长为1;步长为负数时,可以进行反向切片。

337-3、功能

        用于从Series中的每个字符串中根据指定的索引范围提取子字符串,它允许你通过指定起始位置、结束位置和步长来精确控制提取的部分。

337-4、返回值

       返回Series或Index,具体取决于输入数据的类型:

  • 返回值是一个与原Series长度相同的新Series,其中包含根据指定的start、stop和step提取的子字符串。
  • 如果某个字符串的长度小于start,该位置返回一个空字符串。
337-5、说明

        无

337-6、用法
337-6-1、数据准备
337-6-2、代码示例
# 337、pandas.Series.str.slice方法
import pandas as pd
# 示例数据
s = pd.Series(['apple', 'banana', 'cherry', 'date'])
# 从索引1开始切片到索引4(不包括4)
result_slice = s.str.slice(start=1, stop=4)
# 仅指定步长为2,默认从头到尾
result_step = s.str.slice(step=2)
# 反向切片,步长为-1
result_reverse = s.str.slice(start=4, stop=0, step=-1)
print("从索引1到4切片:")
print(result_slice)
print("\n每隔一个字符切片:")
print(result_step)
print("\n反向切片:")
print(result_reverse)
337-6-3、结果输出
# 337、pandas.Series.str.slice方法
# 从索引1到4切片:
# 0    ppl
# 1    ana
# 2    her
# 3    ate
# dtype: object
# 
# 每隔一个字符切片:
# 0    ape
# 1    bnn
# 2    cer
# 3     dt
# dtype: object
# 
# 反向切片:
# 0    elpp
# 1    nana
# 2    rreh
# 3     eta
# dtype: object
338、pandas.Series.str.slice_replace方法
338-1、语法
# 338、pandas.Series.str.slice_replace方法
pandas.Series.str.slice_replace(start=None, stop=None, repl=None)
Replace a positional slice of a string with another value.

Parameters:
start
int, optional
Left index position to use for the slice. If not specified (None), the slice is unbounded on the left, i.e. slice from the start of the string.

stop
int, optional
Right index position to use for the slice. If not specified (None), the slice is unbounded on the right, i.e. slice until the end of the string.

repl
str, optional
String for replacement. If not specified (None), the sliced region is replaced with an empty string.

Returns:
Series or Index
Same type as the original object.
338-2、参数

338-2-1、start(可选,默认值为None)整数或None,指定开始切片的索引位置,索引从0开始,如果不指定(即为None),默认从字符串的开头开始切片。

338-2-2、stop(可选,默认值为None)整数或None,指定结束切片的索引位置(不包括该位置),如果不指定(即为None),默认一直切到字符串的末尾。

338-2-3、repl(可选,默认值为None)字符串或None,指定要替换切片部分的字符串,repl将取代原字符串从start到stop位置的内容。

338-3、功能

        用于对字符串序列的某一部分进行替换操作,你可以指定从哪个位置开始(start),到哪个位置结束(stop),然后用指定的字符串(repl)来替换这部分内容,该方法不会改变原序列,而是返回一个新的序列,其中包含替换后的字符串。

338-4、返回值

        返回一个pandas.Series对象,包含处理后的字符串序列,原序列中的每一个字符串都会根据指定的start、stop和repl参数进行相应的替换操作。

338-5、说明

        无

338-6、用法
338-6-1、数据准备
338-6-2、代码示例
# 338、pandas.Series.str.slice_replace方法
import pandas as pd
# 示例数据
data = pd.Series(['abcdefg', 'hijklmn', 'opqrstu'])
# 使用str.slice_replace()方法
result = data.str.slice_replace(start=2, stop=5, repl='XYZ')
print(result)
338-6-3、结果输出
# 338、pandas.Series.str.slice_replace方法
# 0    abXYZfg
# 1    hiXYZmn
# 2    opXYZtu
# dtype: object
339、pandas.Series.str.split方法
339-1、语法
# 339、pandas.Series.str.split方法
pandas.Series.str.split(pat=None, *, n=-1, expand=False, regex=None)
Split strings around given separator/delimiter.

Splits the string in the Series/Index from the beginning, at the specified delimiter string.

Parameters:
patstr or compiled regex, optional
String or regular expression to split on. If not specified, split on whitespace.

nint, default -1 (all)
Limit number of splits in output. None, 0 and -1 will be interpreted as return all splits.

expandbool, default False
Expand the split strings into separate columns.

If True, return DataFrame/MultiIndex expanding dimensionality.

If False, return Series/Index, containing lists of strings.

regexbool, default None
Determines if the passed-in pattern is a regular expression:

If True, assumes the passed-in pattern is a regular expression

If False, treats the pattern as a literal string.

If None and pat length is 1, treats pat as a literal string.

If None and pat length is not 1, treats pat as a regular expression.

Cannot be set to False if pat is a compiled regex

New in version 1.4.0.

Returns:
Series, Index, DataFrame or MultiIndex
Type matches caller unless expand=True (see Notes).

Raises:
ValueError
if regex is False and pat is a compiled regex.
339-2、参数

339-2-1、pat(可选,默认值为None)字符串或None,指定用于分割字符串的分隔符,如果不指定(即为None),默认按照空白字符(包括空格、制表符等)进行分割;如果指定了regex=True,则pat被解释为正则表达式。

339-2-2、n(可选,默认值为-1)整数或None,指定最多分割的次数,如果为-1(默认值),则不限制分割次数,即分割所有出现的分隔符。

339-2-3、expand(可选,默认值为False)布尔值,是否将分割结果展开为一个DataFrame,若为True,返回一个DataFrame,每个拆分的部分作为一列;若为False(默认值),返回一个Series,其中每个元素是一个列表,包含分割后的字符串部分。

339-2-4、regex(可选,默认值为None)布尔值或None,是否将pat解释为正则表达式,如果为None(默认值),则会根据pat是否为正则表达式自动判断;如果为True,则强制将pat解释为正则表达式。

339-3、功能

        用于将字符串按照指定的分隔符拆分为多个部分,你可以控制分割的次数以及是否将结果展开为多列。

339-4、返回值

        如果expand=False(默认值),返回一个pandas.Series对象,其中每个元素是一个列表,包含分割后的字符串部分;如果expand=True,返回一个pandas.DataFrame对象,其中每列对应分割后的字符串部分。

339-5、说明

        无

339-6、用法
339-6-1、数据准备
339-6-2、代码示例
# 339、pandas.Series.str.split方法
import pandas as pd
# 示例数据
data = pd.Series(['a,b,c', 'd,e,f', 'g,h,i'])
# 不展开结果,只分割一次
result1 = data.str.split(",", n=1, expand=False)
# 展开结果为多列
result2 = data.str.split(",", expand=True)
print("Result with expand=False:")
print(result1)
print("\nResult with expand=True:")
print(result2)
339-6-3、结果输出
# 339、pandas.Series.str.split方法
# Result with expand=False:
# 0    [a, b,c]
# 1    [d, e,f]
# 2    [g, h,i]
# dtype: object
# 
# Result with expand=True:
#    0  1  2
# 0  a  b  c
# 1  d  e  f
# 2  g  h  i
340、pandas.Series.str.rsplit方法
340-1、语法
# 340、pandas.Series.str.rsplit方法
pandas.Series.str.rsplit(pat=None, *, n=-1, expand=False)
Split strings around given separator/delimiter.

Splits the string in the Series/Index from the end, at the specified delimiter string.

Parameters:
pat
str, optional
String to split on. If not specified, split on whitespace.

n
int, default -1 (all)
Limit number of splits in output. None, 0 and -1 will be interpreted as return all splits.

expand
bool, default False
Expand the split strings into separate columns.

If True, return DataFrame/MultiIndex expanding dimensionality.

If False, return Series/Index, containing lists of strings.

Returns:
Series, Index, DataFrame or MultiIndex
Type matches caller unless expand=True (see Notes).
340-2、参数

340-2-1、pat(可选,默认值为None)字符串或None,指定用于分割字符串的分隔符,如果不指定(即为None),默认按照空白字符(包括空格、制表符等)进行分割;如果指定了regex=True,则pat被解释为正则表达式。

340-2-2、n(可选,默认值为-1)整数或None,指定最多分割的次数,从右侧开始,如果为-1(默认值),则不限制分割次数,即分割所有出现的分隔符。

340-2-3、expand(可选,默认值为False)布尔值,是否将分割结果展开为一个DataFrame,若为True,返回一个DataFrame,每个拆分的部分作为一列;若为False(默认值),返回一个Series,其中每个元素是一个列表,包含分割后的字符串部分。

340-3、功能

        用于将字符串从右侧开始按照指定的分隔符拆分为多个部分,你可以控制分割的次数以及是否将结果展开为多列,与split()方法不同的是,rsplit()从右向左进行分割,这在处理末尾部分的固定格式或逆序字符串时特别有用。

340-4、返回值

        如果expand=False(默认值),返回一个pandas.Series对象,其中每个元素是一个列表,包含从右侧开始分割后的字符串部分;如果expand=True,返回一个pandas.DataFrame对象,其中每列对应从右侧分割后的字符串部分。

340-5、说明

        无

340-6、用法
340-6-1、数据准备
340-6-2、代码示例
# 340、pandas.Series.str.rsplit方法
import pandas as pd
# 示例数据
data = pd.Series(['a,b,c', 'd,e,f', 'g,h,i'])
# 不展开结果,只从右侧分割一次
result1 = data.str.rsplit(",", n=1, expand=False)
# 从右侧展开结果为多列
result2 = data.str.rsplit(",", expand=True)
print("Result with expand=False:")
print(result1)
print("\nResult with expand=True:")
print(result2)
340-6-3、结果输出
# 340、pandas.Series.str.rsplit方法
# Result with expand=False:
# 0    [a,b, c]
# 1    [d,e, f]
# 2    [g,h, i]
# dtype: object
# 
# Result with expand=True:
#    0  1  2
# 0  a  b  c
# 1  d  e  f
# 2  g  h  i

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RCE---eval长度限制绕过技巧

目录 题目源码 方法一&#xff1a;命令执行的利用 方法二&#xff1a;file_put_contents&#xff08;本地文件包含的利用&#xff09; 方法三&#xff1a;usort(…$_GET); 题目源码 <?php $param $_REQUEST[param]; if(strlen($param)<17 && stripos($par…

【题解】【一题多解】—— [NOIP1998 普及组] 三连击

【题解】—— [NOIP1998 普及组] 三连击 [NOIP1998 普及组] 三连击题目背景题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示 解法1.直接提交答案解法2.普通枚举2.1.题意分析2.2.AC代码 解法3.全排列枚举3.1.题意分析3.2.AC代码 解法4.深度优先搜索4.1.题意分析4.2.AC…

宝塔面板屏蔽 Censys,防止源站 IP 泄露

Censys 搜索引擎很强大。Censys 每天都会扫描 IPv4 地址空间&#xff0c;以搜索所有联网设备并收集相关的信息&#xff0c;并返回一份有关资源&#xff08;如设备、网站和证书&#xff09;配置和部署信息的总体报告。 在 IP 前加上 https 访问时&#xff0c;Nginx 会自动返回该…

嵌入式学习 20(Linux高级编程——文件——misc)

文件操作相关函数 一、symlink 函数 int symlink(const char *oldpath, const char *newpath); 功能&#xff1a; 创建一个指向 oldpath 文件的新的符号链接&#xff08;软链接&#xff09;文件。 参数&#xff1a; • oldpath&#xff1a;被链接指向的原始文件的路径。 • …

spring事务失效问题可以这样解决

今天咱们就来聊聊在Spring事务管理中你可能踩过的坑&#xff0c;并教你如何规避这些陷阱。 事务提交的陷阱 有时&#xff0c;事务方法在抛出异常后没有回滚&#xff0c;而是被提交了。 这通常是由于异常被捕获但没有显式抛出&#xff0c;导致Spring误以为事务正常完成。 错…

Review Learning : 推进一体化超高清图像恢复训练方法

Review Learning: Advancing All-in-One Ultra-High-Definition Image Restoration Training Method 摘要 一体化图像恢复任务变得越来越重要&#xff0c;特别是对于超高清&#xff08;UHD&#xff09;图像。 现有的一体机UHD图像恢复方法通常通过引入针对不同退化类型的即时…

小区团购管理

TOC springboot254小区团购管理 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广泛运用&…

一文搞懂后端面试之数据库综合应用【中间件 | 数据库 | MySQL | 高可用 | 高性能】

查询缓存 在MySQL里面&#xff0c;允许用户开启查询缓存。你可以理解这个缓存就是用SQL作为键&#xff0c;而对应的查询结果集就是值。如果下次过来的还是同一个查询&#xff0c;那么就直接返回缓存起来的查询结果集。 但是查询缓存不一定带来查询性能提升。如果你的查询每一…

接口隔离原则

接口隔离原则 接口隔离原则就是客户端不应该依赖它不需要的接口&#xff0c;或者说类间的依赖关系应该建立在最小的接口上。 我们以搜索美女为例&#xff0c;设计了如下的类图&#xff1a; 源代码如下。美女及其实现类&#xff1a; 搜索程序及其子类源代码如下&#xff1a; 最…

0101中文乱码-BufferedImage-图片处理

文章目录 1、问题描述2 、电子证书生成3、中文乱码原因及修复4、思考 结语 1、问题描述 接手维护一个休闲赛事类项目&#xff0c;因为服务器到期&#xff0c;项目从云服务器迁移到本地服务器。 项目生成比赛&#xff0c;分为二人组、三人组等等的团体&#xff1b;比赛设置几个…

判断矩阵中的一致性检验是指什么

判断矩阵中的一致性检验通常指的是在层次分析法&#xff08;Analytic Hierarchy Process, AHP&#xff09;中&#xff0c;用于评估决策者在构造判断矩阵时的逻辑一致性。 在AHP中&#xff0c;决策者需要比较成对的因素&#xff0c;并为每对因素的相对重要性赋予一个数值&#…

什么是haproxy七层代理

一.负载均衡 1.1.什么是负载均衡 负载均衡&#xff1a;Load Balance&#xff0c;简称LB&#xff0c;是一种服务或基于硬件设备等实现的高可用反向代理技术&#xff0c;负载均 衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备&#xff0c;从…

DriftingBlues2靶机渗透测试

DriftingBlues2靶机 文章目录 DriftingBlues2靶机信息收集FTP渗透web渗透权限提升靶机总结 信息收集 nmap扫描得到21,22和80端口&#xff0c;其中21ftp协议可以使用匿名用户登录 使用目录扫描一下网站&#xff0c;得到了blog目录 FTP渗透 匿名用户登录进去&#xff0c;发现…

QT移除窗体的最大化和最小化按钮

效果 代码位置 代码 int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.setWindowFlags(w.windowFlags() & ~Qt::WindowMaximizeButtonHint & ~Qt::WindowMinimizeButtonHint);w.show();return a.exec(); }

考研数学想考120,把李林880做到准确率80%以上够吗?

考研数学想考120&#xff0c;把880题做到正确率80%以上是不够的 因为最近几年的考研数学变化&#xff0c;很大&#xff0c;传统的背题型的备考方式已经没用了&#xff0c;而880题是这种模式的佼佼者&#xff0c;25版的880变动又很小&#xff0c;只加了40道比较综合的题目在每一…

python基础命令学习

1.Python基础知识 目录 1.Python基础知识1.1 变量及类型1.2 标识符与关键字1.3 输出与输入1.3.1格式化符号1.3.2转义字符1.3.3结束符1.3.4输入的特点 1.4 运算符1.4.1 算数运算符1.4.2 赋值运算符1.4.3 比较(即关系)运算符1.4.4 逻辑运算符 1.5 数据类型转换1.6 判断与循环语句…

【K8S系列】Kubernetes基础介绍

一、前言 搭建完k8s集群后&#xff0c;正式进入k8s相关知识点的理论了解。并结合官方文档逐步总结涉及k8s各类知识点&#xff0c;希望能对正在学习的或将要学习得到小伙伴有所帮助。 二、系统部署历程回顾 传统部署时代&#xff1a; 早期&#xff0c;各个组织是在物理服务器…

[python]uiautomation.WindowControl函数用法

Python UIAutomation 窗口控件 介绍 在本文中&#xff0c;我们将探讨Python UIAutomation库以及如何使用它来控制和自动化Windows应用程序。我们将介绍UIAutomation的基础知识及其功能&#xff0c;并提供代码示例来演示其用法。 什么是UI自动化&#xff1f; UIAutomation是一个…

Java中常用的设计模式

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程…

【机器学习】探索数据矿藏:Python中的AI大模型与数据挖掘创新实践

&#x1f496; 前言&#xff1a;探索数据矿藏1. &#x1f4ca;数据获取与预处理&#xff1a;AI大模型的燃料1.1 &#x1f310;数据获取&#xff1a;多样性与规模并重1.2 &#x1f9f9;数据清洗与处理&#xff1a;提升数据质量1.3 &#x1f50d;特征工程&#xff1a;挖掘数据的深…